Sobes.tech
Middle

Můžeš uvést příklad, kdy se používají rekurzivní CTE?

sobes.tech AI

Odpověď od AI

Rekurzivní výrazy tabulek (CTE) se používají pro práci s hierarchickými nebo rekurzivními datovými strukturami, například pro průchod stromem nebo grafem.

Příklad: získání všech podřízených zaměstnanců v organizační struktuře.

WITH RECURSIVE Subordinates AS (
    SELECT employee_id, manager_id, name
    FROM employees
    WHERE employee_id = 1  -- nadřízený, od kterého začínáme
    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;

Tento dotaz rekurzivně shromažďuje všechny zaměstnance podřízené nadřízenému s employee_id = 1.