Sobes.tech
Middle

Môžeš uviesť príklad, kedy sa používajú rekurzívne CTE?

sobes.tech AI

Odpoveď od AI

Rekurzívne výrazy tabuliek (CTE) sa používajú na prácu s hierarchickými alebo rekurzívnymi štruktúrami údajov, napríklad na prechádzanie stromom alebo grafom.

Príklad: získanie všetkých podriadených zamestnancov v organizačnej štruktúre.

WITH RECURSIVE Subordinates AS (
    SELECT employee_id, manager_id, name
    FROM employees
    WHERE employee_id = 1  -- nadriadený, od ktorého začíname
    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;

Táto otázka rekurzívne zhromažďuje všetkých zamestnancov, ktorí sú podriadení nadriadenému s employee_id = 1.