Оглавление:
Определение - Что означает Самосоединение?
Самосоединение, также известное как внутреннее соединение, - это оператор языка структурированных запросов (SQL), в котором запрашиваемая таблица объединяется с самим собой. Оператор самосоединения необходим при сравнении двух наборов данных в одной таблице.
Техопедия объясняет само-присоединение
Например, есть таблица EMPLOYEES, которая содержит три столбца:
- Имя сотрудника
- идентификатор сотрудника
- идентификатор сотрудника
Поскольку менеджеры также являются сотрудниками, столбец MANAGER_ID также содержит идентификатор другого сотрудника, который также является менеджером. Чтобы написать запрос для извлечения имен и идентификаторов сотрудников и менеджеров, таблицу необходимо логически разделить на две части, чтобы выполнить два отдельных запроса: сотрудники (первая таблица) и менеджеры (вторая таблица). Это достигается с помощью следующего примера SQL-запроса:
ВЫБЕРИТЕ a.employee_name, b.employee_name в качестве Manager_name
ОТ сотрудников как а, сотрудников как б
ГДЕ a.manager_id = b.employee_id
Понимание концепции и обстоятельств самосоединения необходимо для понимания вышеприведенного оператора SQL.
В этом примере второй таблице EMPLOYEES присваивается псевдоним b, который фактически является подмножеством полной таблицы EMPLOYEES. Однако условие WHERE заставляет первую таблицу EMPLOYEES запрашивать менеджера сотрудника во второй таблице EMPLOYEES.
