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 помогает работать с иерархическими или связанными данными внутри одной таблицы.