Middle
Ar galite pateikti pavyzdį, kada naudojami rekursiniai CTE?
sobes.tech AI
Atsakymas iš AI
Rekursyvios lentelių išraiškos (CTE) naudojamos dirbti su hierarchinėmis arba rekursinėmis duomenų struktūromis, pavyzdžiui, medžio ar grafiko perėjimui.
Pavyzdys: gauti visus pavaldinius organizacinėje struktūroje.
WITH RECURSIVE Subordinates AS (
SELECT employee_id, manager_id, name
FROM employees
WHERE employee_id = 1 -- pradinis vadovas
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;
Šis užklausa rekursyviai surenka visus darbuotojus, kurie yra pavaldūs vadovui su employee_id = 1.