Sobes.tech
Back to questions
Middle
3

Можно ли сделать JOIN таблицы с самой собой (self-join)? Зачем это нужно?

Companies where asked
Проектный офис по развитию туризма и гостеприимства Москвы

Answer from AI

sobes.tech AI

Да, в SQL можно сделать JOIN таблицы самой с собой — это называется self-join.

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

Пример: есть таблица сотрудников с полями id, name, manager_id, где manager_id — это ссылка на id менеджера в той же таблице. Чтобы получить список сотрудников вместе с именами их менеджеров, делают self-join:

SELECT e.name AS employee, m.name AS manager
FROM employees e
LEFT JOIN employees m ON e.manager_id = m.id;

Здесь employees используется дважды с разными алиасами (e и m), чтобы связать сотрудника с его менеджером.

Таким образом, self-join помогает работать с иерархическими или связанными данными внутри одной таблицы.