Sobes.tech
Middle

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

sobes.tech АИ

Одговор од АИ

Рекурзивни изрази за заједничке табеле (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.