Sobes.tech
Middle

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

sobes.tech AI

Отговор от AI

Рекурсивните изрази на таблици (CTE) се използват за работа с йерархични или рекурсивни структури от данни, например за обхождане на дърво или граф.

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

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.