Requêtes récursives et CTE (Common Table Expression - Expression de Table)

Introduite avec la norme SQL:1999, la technique des requêtes récursives permet de résoudre des problèmes de parcours d’arbres (hiérarchie par exemple) ou de graphes (réseaux…). L’écriture de requêtes récursive nécessite l’utilisation d’une nouvelle forme de requêtes introduite avec le concept d’Expression de Table (en anglais « Common table Expression » ou CTE)

Cet article présente la technique des requêtes récursives et les expressions de table, et compare la norme SQL avec l’implémentation qui en a été faite sous Microsoft SQL Server. Le présent document est paru dans SQL Server Magazine et sa version anglaise figure sur le site de SQL Server Central.

L'article sur les requêtes récursives et la CTE -  PDF - 380.1 ko
L’article sur les requêtes récursives et la CTE
Code SQL associé à l'article -  Zip - 5 ko
Code SQL associé à l’article

Cette nouvelle version de l’article inclut quelques ajouts non parus dans la version papier de SQL Server Magazine, notamment :

  • La transformation en mode intervallaire d’un arbre en autoréférence
  • Le calcul des niveaux dans une représentation intervallaire
  • La réalisation d’une vue en autoréférence dans une représentation intervallaire
  • La numérotation hiérarchique des items d’un arbre
  • Concaténer les mots d’une colonne
  • Transformer une phrase en une colonne de mots

D’autres ressources sur le sujet par SQLpro sur developpez.com

Documents à télécharger