Sobes.tech
Назад к вопросам
Middle
10

Можешь привести пример, когда используются рекурсивные CTE?

Компании, где спрашивали
МВидео/эльдорадо

Ответ от нейросети

sobes.tech AI

Рекурсивные CTE (Common Table Expressions) применяются для работы с иерархическими или рекурсивными структурами данных, например, для обхода дерева или графа.

Пример: получение всех подчинённых сотрудника в организационной структуре.

WITH RECURSIVE Subordinates AS (
    SELECT employee_id, manager_id, name
    FROM employees
    WHERE employee_id = 1  -- начальник, с которого начинаем
    UNION ALL
    SELECT e.employee_id, e.manager_id, e.name
    FROM employees e
    INNER JOIN Subordinates s ON e.manager_id = s.employee_id
)
SELECT * FROM Subordinates;

Этот запрос рекурсивно собирает всех сотрудников, подчинённых начальнику с employee_id = 1.