Middle
Czy możesz podać przykład, kiedy używane są rekurencyjne CTE?
sobes.tech AI
Odpowiedź od AI
Rekurencyjne wyrażenia tabelaryczne (CTE) służą do pracy z hierarchicznymi lub rekurencyjnymi strukturami danych, na przykład do przechodzenia przez drzewo lub graf.
Przykład: pobranie wszystkich podwładnych pracownika w strukturze organizacyjnej.
WITH RECURSIVE Subordinates AS (
SELECT employee_id, manager_id, name
FROM employees
WHERE employee_id = 1 -- przełożony, od którego zaczynamy
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;
Ta zapytanie rekurencyjnie zbiera wszystkich pracowników podległych przełożonemu o employee_id = 1.