CTE (WITH)
PostgreSQL 🟡 MidDefinition
Common Table Expression : sous-requete nommee definie avec WITH, utilisable comme une table temporaire dans la requete principale. Peut etre recursive pour les hierarchies.
Analogie
Definir une variable intermediaire dans un calcul complexe pour le rendre lisible etape par etape.
Exemple de code
WITH active_users AS (
SELECT * FROM users WHERE status = 'active'
)
SELECT a.name, COUNT(o.id) as orders
FROM active_users a
JOIN orders o ON a.id = o.user_id
GROUP BY a.name;
Cas d'usage
Decomposer des requetes complexes en etapes lisibles, ou parcourir des structures arborescentes avec CTE recursive.