SELF JOIN — это соединение таблицы самой с собой. Для этого одной и той же таблице задают два разных псевдонима (alias) и соединяют их по нужному условию.
SELF JOIN — это соединение таблицы самой с собой. Для этого одной и той же таблице задают два разных псевдонима (alias) и соединяют их по нужному условию.
Что такое self-join
SELF JOIN нужен, когда строки одной таблицы нужно сравнить друг с другом или показать связь «родитель — потомок» внутри одной таблицы.
Как это делается
Мы берём одну таблицу два раза и даём ей разные псевдонимы, например employees e и employees m. Затем соединяем их по условию, например e.manager_id = m.id.
Пример
SELECT e.name AS employee_name, m.name AS manager_name
FROM employees e
LEFT JOIN employees m ON e.manager_id = m.id;Этот запрос покажет сотрудников и их руководителей, если руководитель указан.
Когда используется
SELF JOIN часто применяют для иерархий: сотрудники и менеджеры, категории и подкатегории, комментарии и ответы, деревья зависимостей.
Как ответить на собеседовании
Self-join — это когда таблица соединяется сама с собой через два разных alias. Это полезно для иерархий и сравнений внутри одной сущности, например чтобы получить сотрудника и его руководителя из таблицы employees.
Оцени свой прогресс