CTE (WITH)

PostgreSQL 🟡 Mid

Definition

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.

Termes lies

#sgbd#interview#database#postgresql