Внешнее объединение таблиц

Как уже было описано выше, операция объединения соединяет данные из двух таблиц, формируя пары связанных строк из этих таблиц. При внутреннем объединении все записи, для которых не находится пары в другой таблице, просто игнорируются. Поэтому если строка одной из таблиц не имеет пары, то такое объединение (внутреннее) может привести к неожиданным результатам.

Рассмотрим следующий пример. Вывести список служащих и городов, где они работают

SELECT FAMILY, NAME, CITY

FROM zakazy.sluzhaschie s, zakazy.offisy o

WHERE o.id_ofc = s.id_ofc

Рис. 4.4 - Результат выполнения запроса внутреннего объединения

Результат выполнения этого запроса приведен на Рис. 4.4.

Из приведенного результата видно, что в результирующую таблицу не вошли записи из таблицы offisy об офисе, расположенном в г. Омск, для которого еще не набраны служащие, и таблицы sluzhaschie об Уткине Денисе, который еще не получил назначение ни в один офис. Таким образом, если в таблицах объединения содержатся несвязанные (непарные) строки, то стандартный SQL приведет к потере информации.

Если мы хотим вывести сведения обо всех офисах, независимо от того, набраны в него служащие или еще нет, то правильный результат можно получить, выполнив запрос, приведенный ниже:

SELECT *

FROM zakazy.offisy o

LEFT JOIN zakazy.sluzhaschie s on o.id_ofc = s.id_ofc

Результат выполнения запроса показан на Рис. 4.5. Запрос, приведенный в данном примере, называется внешним (в данном случае левым) объединением таблиц.

Рис. 4.5 - Результат выполнения запроса левого внешнего объединения

Как видно из приведенного примера, внешнее объединение может сохранить записи, для которых не находится соответствия в других наборах. При этом недостающие поля запол­няются значениями NULL.








Дата добавления: 2015-02-03; просмотров: 1088;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.