## Контекст (таблицы и пример данных) ### Таблицы - `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; ```