Rekursives CTE
SQL-Feature: WITH RECURSIVE-Syntax für rekursive Abfragen. Einsatz: Baumstrukturen durchlaufen (Organisationshierarchie, Kategoriebäume), Graph-Traversierung, Zahlenreihen erzeugen.
Klassisches Beispiel: alle Untergebenen eines Chefs finden.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 seit 1999, aber PostgreSQL hat die solidere Implementierung — MySQL bekam es erst 2018 mit Version 8.0. Risiko: unendliche Rekursion ohne Abbruchbedingung → der Planer kann nicht stoppen, die Query hängt. Moderne Graphdatenbanken (Neo4j, Memgraph) traversieren effizienter, aber für die meisten Baum-Abfragen reicht ein SQL-CTE völlig aus.