Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
44
Добавлен:
17.04.2018
Размер:
164 Кб
Скачать
☆

Внешние соединения

Иногда требуется получить список записей, в котором не каждой записи главной таблицы может соответствовать запись в подчиненной таблице. Это делается путем помещения символов (+) после имени столбца подчиненной таблицы в предложении WHERE. В итоге команда принимает следующий вид:

SELECT prod.product_name, prod.product_price, purc.purchase_date, pure.quantity

FROM product prod, purchase pure

WHERE prod.product_name = pure.product_name (+)

ORDER BY prod.product_name;

Если ввести эту команду, то таблица результатов будет содержать названия всех товаров — даже тех, которые не продавались. Это называется созданием внешнего соединения (outer join). Символы (+), помещаемые после имени одного из столбцов таблицы в каждом из сравнений имя_главной_таблицы.первичный_ключ = имя_подчиненной_таблицы.внешний_ключ предложения WHERE, показывают, что таблица может не иметь записей, соответствующих каждой записи другой таблицы. Иными словами, символы (+) ставятся после столбца таблицы, для которой вместо совпадающего столбца могут быть выведены пробелы. Как правило, (+) указывается после имени подчиненной, а не главной таблицы. Это объясняется тем, что если в таблицах поддерживается ссылочная целостность (т.е. правильно определены ограничения внешнего ключа), то главная таблица может содержать записи, которым не соответствуют записи подчиненной таблицы, но подчиненная таблица никогда не должна содержать записей, не имеющих соответствующих записей в главной таблице.

Соседние файлы в папке лекции оракл