## Контекст (таблицы и пример данных) ### Таблицы - `employees(id, name, manager_id)` ### Пример д
SQL Developer
Senior
## Контекст (таблицы и пример данных)
### Таблицы
- `employees(id, name, manager_id)`
### Пример данных
**employees**
| id | name | manager_id |
|---:|------|-----------:|
| 1 | CEO | NULL |
| 2 | M1 | 1 |
| 3 | E1 | 2 |
| 4 | E2 | 2 |
---
## Задача
Для менеджера `manager_id = 2` вывести всех подчинённых на любых уровнях.
Вернуть: `employee_id`, `name`, `depth`.
Ответы
```sql
WITH RECURSIVE org AS (
SELECT id, name, manager_id, 0 AS depth
FROM employees
WHERE id = 2
UNION ALL
SELECT e.id, e.name, e.manager_id, o.depth + 1
FROM employees e
JOIN org o ON e.manager_id = o.id
)
SELECT id AS employee_id, name, depth
FROM org
WHERE depth > 0
ORDER BY depth, employee_id;
```