Qu'est-ce qu'une CTE (expression de table commune) en SQL ?

Une CTE (common table expression, ou expression de table commune) est un ensemble de résultats temporaire et nommé, défini au moyen d'une clause WITH, que vous pouvez référencer au sein d'une même requête. Elle décompose un SQL complexe en étapes lisibles et réutilisables, et peut être récursive pour traiter des données hiérarchiques comme les organigrammes ou les arborescences de catégories.

Une CTE vous permet de définir un sous-résultat une seule fois et de l'utiliser comme une table dans le reste de votre requête. Écrite sous la forme WITH nom AS (SELECT ...), elle rend une logique en plusieurs étapes bien plus facile à lire que des sous-requêtes profondément imbriquées.

Pourquoi les analystes utilisent les CTE :

  • Lisibilité chaque étape est nommée et autonome.
  • Réutilisation référencez plusieurs fois le même résultat intermédiaire.
  • Enchaînement empilez plusieurs CTE en un pipeline clair de transformations.
  • Récursion parcourez des hiérarchies comme les chaînes employé-responsable ou les arborescences de nomenclatures.

Les questions analytiques complexes nécessitent souvent plusieurs étapes, filtrer, agréger, puis classer, ce que les CTE expriment proprement.

iDBQuery construit ce SQL en plusieurs étapes pour vous. Lorsqu'une question en langage courant requiert plusieurs étapes logiques, sa génération de requêtes, ainsi que son agent Analyste autonome pour les investigations plus poussées, décomposent le problème en étapes tout comme le font les CTE, puis exécutent l'ensemble de la requête sur vos données en direct. Vous voyez le SQL si vous voulez le vérifier, et chaque chiffre est sourcé jusqu'à ses lignes d'origine, de sorte que vous obtenez la puissance des requêtes en couches et en plusieurs étapes sans écrire une seule ligne de clauses WITH.

Updated 2026-06-22