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

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

Пример на рисунке соединяет таблицу EMPLOYEES
с самой собой. Чтобы смоделировать две таблицы в предложении FROM
, указывается два псевдонима, а именно worker (рабочий) и manager (менеджер) для той же самой таблицы EMPLOYEES
.
В этом примере, предложение WHERE
содержит соединение, которое означает "где номер менеджера рабочего соответствует номеру сотрудника для менеджера.”