Middle
23
Можешь привести пример, когда используются рекурсивные CTE?
Companies where asked
МВидео/эльдорадо
Answer from AI
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.