Eine CTE (Common Table Expression), definiert mit WITH, ist ein benanntes temporäres Ergebnis, das komplexe Abfragen lesbar macht. PostgreSQL unterstützt CTEs vollständig, einschließlich rekursiver CTEs (WITH RECURSIVE) zum Durchlaufen hierarchischer/baumartiger Daten.
Basis-CTEs — lesbare Abfrageerstellung
active_users (
id, name users active
),
order_counts (
user_id, () cnt orders user_id
)
u.name, oc.cnt
active_users u
order_counts oc u.id oc.user_id;
