En CTE (Common Table Expression), defineret med WITH, er et navngivet midlertidigt resultatmængde, der gør komplekse forespørgsler læsbare. PostgreSQL understøtter fuldt ud CTE'er, herunder rekursive CTE'er (WITH RECURSIVE) til at gennemløbe hierarkiske/træstrukturerede data.
Grundlæggende CTE'er — læsbar forespørgselsopbygning
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;
