Продвинутый
Как работает рекурсивный запрос (WITH RECURSIVE) в SQL?
WITH RECURSIVE используется для обхода иерархических данных (деревьев, графов), например: структура подчинения сотрудников (начальник -> зам -> менеджер) или дерево комментариев.
Структура запроса:
1. Базовая часть (Anchor): Выбирает корневой элемент (например, CEO, у которого boss_id IS NULL).
2. UNION ALL
3. Рекурсивная часть: Делает JOIN таблицы с самим CTE, находя всех подчиненных для текущего уровня.
СУБД повторяет шаг 3 до тех пор, пока запрос не вернет 0 строк (дойдет до самых нижних сотрудников).