Назад к вопросам
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.