CTE (Common Table Expression), определённое с помощью WITH, — это именованное временное множество результатов, которое делает сложные запросы читаемыми. PostgreSQL полностью поддерживает CTE, включая рекурсивные CTE (WITH RECURSIVE) для обхода иерархических/древовидных данных.
Базовые CTE — построение читаемых запросов
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;
