Sobes.tech
Middle

Vai vari sniegt piemēru, kad tiek izmantoti rekursīvie CTE?

sobes.tech AI

Atbilde no AI

Rekursīvās tabulu izteiksmes (CTE) tiek izmantotas darbam ar hierarhiskām vai rekursīvām datu struktūrām, piemēram, koka vai grafika pārlūkošanai.

Piemērs: iegūt visus padotos darbiniekus organizācijas struktūrā.

WITH RECURSIVE Subordinates AS (
    SELECT employee_id, manager_id, name
    FROM employees
    WHERE employee_id = 1  -- sākuma vadītājs
    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;

Šī vaicājuma rekursīvi apkopo visus darbiniekus, kas ir pakļauti vadītājam ar employee_id = 1.