Вопрос35
Осталось:

Что такое Self-Join и когда он используется?

Образцовый ответ

Показывать ответ по умолчанию

Self-Join — это тип соединения в SQL, когда таблица объединяется сама с собой. Это полезно, когда нужно сравнить строки одной таблицы между собой или обработать иерархические данные.

Когда используется Self-Join:

  • Иерархические структуры Например, в таблице сотрудников, где каждый сотрудник может иметь менеджера, также являющегося сотрудником в той же таблице.
  • Сравнение записей Для нахождения дубликатов или сравнения значений в разных строках одной таблицы.

Пример

employeeIdnamemanagerId
1John<NULL>
2Michail1
3Alisa1
4Max2

Чтобы получить список сотрудников и их менеджеров:

MySQL
SELECT e.name AS Employee, m.name AS Manager
FROM Employee e
LEFT JOIN Employee m ON e.managerId = m.employeeId;

В этом запросе мы соединяем таблицу Employee с самой собой, чтобы сопоставить каждого сотрудника с его менеджером.