Sobes.tech
Middle

Puoi fare un esempio di quando vengono utilizzati i CTE ricorsivi?

sobes.tech AI

Risposta dell'AI

Le espressioni di tabella comuni ricorsive (CTE) vengono utilizzate per lavorare con strutture di dati gerarchiche o ricorsive, ad esempio per attraversare un albero o un grafo.

Esempio: ottenere tutti i subordinati di un dipendente nella struttura organizzativa.

WITH RECURSIVE Subordinates AS (
    SELECT employee_id, manager_id, name
    FROM employees
    WHERE employee_id = 1  -- capo da cui iniziare
    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;

Questa query raccoglie ricorsivamente tutti i dipendenti subordinati al capo con employee_id = 1.