Главная > Построение баз данных в среде Oracle
НАПИШУ ВСЁ ЧТО ЗАДАЛИ
СЕКРЕТНЫЙ БОТ В ТЕЛЕГЕ
<< Предыдущий параграф Следующий параграф >>
Пред.
След.
Макеты страниц

Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше

Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике

ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO

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

При выполнении соединения возможна ситуация, когда могут быть по­теряны данные. В частности, если строка имеет значение, которое не удо­влетворяет условию, заданному в предложении WHERE, эта строка не будет включена в результат соединения. Такая потеря может быть неже­лательной, и для предотвращения подобных ситуаций был введен специ­альный тип соединения — внешнее соединение (outer join).

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

SELECT Name, Title
FROM ARTIST LEFT JOIN WORK
ON WORK.ArtistID = ARTIST.ArtistID;

Смысл этого оператора в том, что строки таблицы ARTIST соединяют­ся со строками таблицы WORK, как и раньше, но теперь, если какая-то строка в таблице слева от ключевого слова JOIN (здесь это таблица ARTIST) не имеет соответствия в таблице, находящейся справа, эта стро­ка все равно будет включена в результат. Такое соединение называется левым внешним соединением (left outer join). Для данных из табл. 1.1 и табл. 1.2 Результат этого запроса будет таким:

Tobey

Mystic Fabric

Miro

Mi Vida

Tobey

Slow Embers

Tobey

Mystic Fabric

Chagall

Northwest by Night

Moos

 

Matisse

 

Klee

 

Kandinsky

 

Правое внешнее соединение (right outer join) функционирует аналогич­ным образом, только в результат включаются все строки таблицы, нахо­дящейся справа от ключевого слова JOIN.

 

1
Оглавление
email@scask.ru