IT-lexikon › Databas › Recursive CTE

Recursive CTE

Databas In English → Uppdaterad: 2026-05-27

SQL-feature: WITH RECURSIVE-syntax för rekursiv query. Användning: traversera trädstrukturer (org-hierarki, kategori-träd), graph-walks, generera nummerserier.

Klassiskt exempel: hitta alla underordnade till en chef.
WITH RECURSIVE subs AS (SELECT id, name, boss_id FROM employees WHERE id = ? UNION SELECT e.id, e.name, e.boss_id FROM employees e JOIN subs s ON e.boss_id = s.id) SELECT * FROM subs;
SQL standard sedan 1999 men PostgreSQL bra implementation, MySQL fick det först i 8.0 (2018). Risk: oändlig rekursion utan terminerings-villkor → planner kan inte stoppa, query hänger. Modern grafdatabaser (Neo4j, Memgraph) gör graph-traversals mer effektivt men SQL-CTE räcker för flesta tree-queries.

← Tillbaka till lexikonet