Что делает рекурсивный CTE в этом запросе?
```sql
WITH RECURSIVE subordinates AS (
SELECT id, name, manager_id, 1 AS level
FROM employees WHERE manager_id IS NULL
UNION ALL
SELECT e.id, e.name, e.manager_id, s.level + 1
FROM employees e
JOIN subordinates s ON e.manager_id = s.id
)
SELECT * FROM subordinates;
```
SQLhardsenior
Варианты ответа
Обходит дерево организационной структуры сверху вниз: начинает с CEO (manager_id IS NULL), рекурсивно присоединяет подчинённых каждого уровня с указанием глубины
Находит всех сотрудников без подчинённых (листья дерева)
Запрос зациклится бесконечно, потому что нет условия остановки
Возвращает только прямых подчинённых CEO (уровень 2)
Разбор ответа
Подробный разбор с объяснением «почему правильный ответ верный» и почему остальные неверны — после регистрации.
2475 вопросов с разбором, quiz-режим с проверкой, AI-собес и подготовка к интервью аналитика.