Oracle оставил внешнее соединение
Что такое левое внешнее объединение в Oracle?
LEFT OUTER JOIN выполняет внутреннее объединение двух таблиц (предполагаемая таблица A, которая записывает перед ключевым словом join и таблица B, записывающая после ключевого слова join в операторе SQL) на основе условия, указанного после ключевого слова ON. Он возвращает все строки из таблицы A, а также несопоставленные строки из таблицы B. Для всех строк в A, у которых нет совпадающих строк в B, Oracle Database возвращает ноль для любых выражений списка выбора, содержащих столбцы B.
Синтаксис:
ВЫБЕРИТЕ table1.column, table2.column ИЗ таблицы 1 ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ table2 ON (table1.column = table2.column);
Иллюстрированная презентация Oracle Left Outer Join
Пример: Oracle Left Outer Join
Следующий запрос извлекает все совпадающие строки в таблице сотрудников, и таблица отделов для критериев с одинаковым значением Department_id в обеих таблицах и имени отдела начинается с буквы «P», а также этих строк из таблицы отделов, даже если в Стол сотрудников.
Пример таблицы: сотрудники
Пример таблицы: отделы
SELECT e.first_name, e.department_id, d.department_name
FROM employees e LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id)
WHERE d.department_name LIKE 'P%';
Пример вывода:
FIRST_NAME DEPARTMENT_ID DEPARTMENT_NAME -------------------- ------------- ----------------- ----- День 30 Покупка Александра 30 Закупки Шелли 30 Закупки Сигал 30 Закупки Парень 30 Закупки Карен 30 Закупки Германн 70 Связи с общественностью 7 строк выбрано.
Пример: LEFT OUTER JOIN с использованием трех таблиц
В следующем запросе извлекаются все совпадающие строки в таблице сотрудников и таблице отделов для критериев с одинаковым значением Department_id в обеих таблицах. Поэтому этот результат объединится с местоположениями таблицы для критериев, идентичных идентификатору местоположения с таблицей местоположений, и, наконец, результат будет отфильтрован по названию отдела критериев, начинающемуся с буквы «P», а также по этим строкам из таблицы отделов и таблицы местоположений. даже если в таблице сотрудников нет совпадений.
Пример таблицы: сотрудники
Пример таблицы: отделы
Пример таблицы: расположение
SELECT e.first_name, e.department_id,
d.department_name, l.location_id,l.city
FROM employees e
LEFT OUTER JOIN departments d
ON (e.department_id = d.department_id)
LEFT OUTER JOIN locations l
ON (d.location_id=l.location_id)
WHERE d.department_name LIKE 'P%';
Пример вывода:
FIRST_NAME DEPARTMENT_ID DEPARTMENT_NAME LOCATION_ID CITY -------------------- ------------- ----------------- ------------- ----------- -------- День 30 Покупка 1700 Сиэтл Александр 30 Покупка 1700 Сиэтл Шелли 30 Покупка 1700 Сиэтл Сигал 30 Покупка 1700 Сиэтл Парень 30 Покупка 1700 Сиэтл Карен 30 Покупка 1700 Сиэтл Германн 70 Связи с общественностью 2700 Мюнхен 7 строк выбрано.
LEFT JOIN: SQL и другие реляционные базы данных
Предыдущая: ВНУТРЕННИЕ СОЕДИНЕНИЯ
Далее: ПРАВО НАРУЖНОЕ СОЕДИНЕНИЕ
Новый контент: Composer: менеджер зависимостей для PHP , R программирования