A CTE (Common Table Expression), definiran sa WITH, je poimenovani privremeni skup rezultata koji čini kompleksne upite čitljivijima. PostgreSQL u potpunosti podržava CTE-ove, uključujući rekurzivne CTE-ove (WITH RECURSIVE) za prelaženje hijerarhijskih/stablastih podataka.
Osnovni CTE-ovi — čitljiva gradnja upita
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;
