Студопедия

КАТЕГОРИИ:

АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника


Левое и правое внешние соединения.




Полное внешнее соединение двух таблиц является симметричным по отношению к обеим исходным таблицам. Однако существует еще два типа внешних соединений, которые не симметричны относительно двух таблиц.

Левое внешнее соединение двух таблиц получается, если выполнить пункты 1 и 2 из числа перечисленных в правилах построения полного внешнего соединения, а пункт 3 пропустить. Таким образом, левое внешнее соединение включает все несвязанные строки первой (левой) таблицы, дополняя их значениями NULL, но не включает несвязанные строки второй (правой) таблицы. Для примера создадим запрос, выводящий список мужчин и женщин из одних и тех же городов и женщин, не имеющих пары:

 

SELECT man.name, man.city, women.name, women.city

FROM women LEFT OUTER JOIN men

USING (city);

 

Правое внешнее соединение двух таблиц получается, если выполнить пункты 1 и 3 из числа перечисленных в правилах построения полного внешнего соединения, а пункт 2 пропустить. Таким образом, правое внешнее соединение включает все несвязанные строки второй (правой) таблицы, дополняя их значениями NULL, но не включает несвязанные строки первой (левой) таблицы. И в качестве примера приведем запрос, который выведет мужчин и женщин из одних и тех же городов и мужчин, не имеющих пары.

 

SELECT man.name, man.city, women.name, women.city

FROM women RIGHT OUTER JOIN men

USING (city);

 

Таблица, у которой все строки включаются в соединение, называется главной, а таблица недостающие элементы которой заполняются значениями NULL, называется вспомогательной.

На практике левое и правое внешние соединения более полезны, чем полное внешнее соединение, особенно если таблицы связанны через отношение предок/потомок.

Естественное соединение.

Имеется еще один вариант соединения таблиц, иллюстрирующий одну особенность блока FROM в стандарте SQL2.

Соединение двух таблиц, в котором связанные столбцы имеют идентичные имена, называется естественным соединением.

С учетом этого запрос на выборку всех мужчин и женщин, имеющих или не имеющих пары, из раздела 5.9.1. может быть записан в следующем виде:

 

SELECT man.name, man.city, women.name, women.city

FROM men NATURAL FULL OUTER JOIN women;

 

Если задано ключевое слово NATURAL, операторы ON и USING могут отсутствовать, т.к. в естественном соединение точно определено условие отбора для соединения двух таблиц – сравниваются все столбцы с идентичными именами в обеих таблицах.


Поделиться:

Дата добавления: 2015-04-04; просмотров: 103; Мы поможем в написании вашей работы!; Нарушение авторских прав





lektsii.com - Лекции.Ком - 2014-2024 год. (0.006 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав
Главная страница Случайная страница Контакты