Sobes.tech
Middle

Масалан, кай вақт истифода мешаванд рекурсив CTE-ҳо?

sobes.tech AI

Ҷавоб аз AI

Ифодаҳои кестаи умумии рекурсивӣ (CTE) барои кор бо сохторҳои маълумоти рекурсивӣ ё ҳирасҳӣ истифода мешаванд, масалан, барои гузаштан аз дарахт ё граф.

Масалан: гирифтани ҳамаи кормандони зердаст дар сохтори ташкилотӣ.

WITH RECURSIVE Subordinates AS (
    SELECT employee_id, manager_id, name
    FROM employees
    WHERE employee_id = 1  -- роҳбар, ки аз он оғоз мекунем
    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;

Ин суол ҳамаи кормандони зердастро, ки ба роҳбари бо employee_id = 1 тааллуқ доранд, рекурсиван ҷамъ мекунад.