SELF JOIN в SQL используется для объединения таблицы с самой собой. Это может быть полезно, когда вам нужно сравнить данные из одной таблицы с данными из той же таблицы.
Пример использования SELF JOIN:
Предположим, у нас есть таблица "employees" с колонками id, name и manager_id, где manager_id указывает на id менеджера этого сотрудника. Мы хотим вывести информацию о каждом сотруднике и его менеджере. Для этого мы можем использовать SELF JOIN:
```sql
SELECT e.name AS employee, m.name AS manager
FROM employees e
JOIN employees m ON e.manager_id = m.id;
```
В этом примере мы делаем JOIN таблицы employees с самой собой по условию e.manager_id = m.id. Мы выбираем имена сотрудника (e.name) и его менеджера (m.name).
SELF JOIN может быть также использован для рекурсивных запросов, например, если нам нужно найти всех подчиненных данного менеджера.
```sql
WITH RECURSIVE employee_hierarchy AS (
SELECT id, name, manager_id
FROM employees
WHERE id = 1
UNION ALL
SELECT e.id, e.name, e.manager