Возврат Записей без Прямого Соответствия с Внешними соединениями
Если строка не удовлетворяет условию соединения, эта строка не появляется в результате запроса.

Например, в условии соединения по эквивалентности таблиц EMPLOYEES
и DEPARTMENTS
, отдел с ID
190 не появляется, потому что нет никаких сотрудников с таким ID отдела в таблице EMPLOYEES
.
Точно так же есть сотрудник, чей DEPARTMENT_ID
установлен в NULL
, таким образом, эта строка также не появится в результате запроса соединения по эквивалентности. Чтобы возвратить запись отдела, у которой нет никаких сотрудников или возвратить запись сотрудника, которая не принадлежит никакому отделу, можно использовать внешнее соединение.
Внешние соединения: Синтаксис
Вы используете внешнее соединение, чтобы увидеть строки, которые не удовлетворяют условию соединения.
Оператор внешнего соединения является знаком "плюс" (+).

Недостающие строки могут быть возвращены, если оператор внешнего соединения используется в условии соединения. Этот оператор представляется знаком "плюс", включенным в круглые скобки (+) и размещается с той "стороны" соединения, которая является неполной по информации. Этот оператор имеет эффект создания одной или более строк null, к которым может быть присоединена одна или более строк из неполной таблицы.
В этом синтаксисе:
table1.column =
Условие, которое соединяет (или соотносит) таблицы вместеtable2.column (+)
Символ внешнего соединения, который может быть помещен с любой стороны от условия в предложенииWHERE
, но не с обеих сторон одновременно (Располагайте символ внешнего соединения после имени столбца в таблице без соответствующих строк.)