Uma CTE (Common Table Expression), definida com WITH, é um conjunto de resultados temporário nomeado que torna consultas complexas legíveis. PostgreSQL oferece suporte completo a CTEs, incluindo CTEs recursivas (WITH RECURSIVE) para atravessar dados hierárquicos/em árvore.
CTEs básicas — construção de consultas legíveis
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;
