Соединение Таблицы с ней же
Иногда требуется соединить таблицу с ней же.

Чтобы найти имя менеджера каждого сотрудника, Вы должны соединить таблицу EMPLOYEES
с ней же или выполнить самосоединение. Например, чтобы найти имя менеджера Лоренца (Lorentz), Вы должны сделать следующее:
Найти Lorentz в таблице
EMPLOYEES
, смотря на столбецLAST_NAME
Найдите номер менеджера для Lorentz, смотря на столбец
MANAGER_ID
. Номер менеджера Лоренца равен 103.Найти имя менеджера с
EMPLOYEE_ID
103, смотря на столбецLAST_NAME
.Номер сотрудника Хунолда (Hunold) 103, таким образом, Хунолд является менеджером Лоренца.
В этом процессе Вы просматриваете таблицу дважды. В первый раз Вы просматриваете таблицу, чтобы найти Lorentz в столбце LAST_NAME
и значение MANAGER_ID
, равное 103. Во второй раз Вы смотрите столбец EMPLOYEE_ID
, чтобы найти 103, и затем столбец LAST_NAME
, чтобы найти Hunold.
Самосоединения Используя Предложение ON

Предложение ON
может также использоваться для соединения столбцов, у которых различные имена внутри той же самой таблицы или в другой таблице.
Показанный пример является самосоединением таблицы EMPLOYEES
, основанным на столбцах EMPLOYEE_ID
и MANAGER_ID
.
Отметьте: круглые скобки вокруг столбцов, по которым происходит соединение, как в примере на рисунке, (e.manager_id = m.employee_id
) являются опциональными. Т.е., ON e.manager_id = m.employee_id
также будет работать.