SELECT FilmName, DName
FROM Films INNER JOIN Directors ON Films.DirectorID = Directors.DirectorID;
Здесь таблицы Films и Directors связаны связью INNER JOIN по двум полям – DirectorID из таблицы Films и DirectorID из таблицы Directors. Предположим, таблицы заполнены следующим образом:
При связи INNER JOIN результат запроса будет следующим:
Фильм «Звездные войны» на экран выведен не будет, т.к. для него не указан код режиссера, т.е. нет связи с таблицей Directors. Аналогично, в выборку не попадет Джордж Лукас, поскольку он не связан ни с одним из фильмов в таблице Films.
Если вместо INNER JOIN использовать LEFT JOIN, «левой» считается та таблица, которая в запросе находится слева (Films LEFT JOIN Directors), в нашем случае таблица Films. Из неё будут выведены все записи, при этом из «правой» таблицы (Directors) выводятся только те записи, которые связаны с Films. Если связанного значения нет, поле из «правой» таблицы получает значение NULL. Результат выполнения запроса:
При связи RIGHT JOIN, наоборот, выводятся все записи из «правой» таблицы.
Связывать можно сразу несколько таблиц. Например, выбрать актеров, которые играют в фильме «Ирония судьбы».
Дата добавления: 2018-09-24; просмотров: 240;