CTE récursive : chaîne de colles depuis l'élève 1
PrepaSup
Enonce
En utilisant une CTE récursive, affiche tous les élèves accessibles depuis l'élève n°1 via des chaînes de colle (binômes de colle, binômes de colle de binômes de colle, etc.), avec la profondeur de la relation.
PrepaSup
Notes(id, id_user, matiere, date_eval, note)
Colles(id, id_user1, id_user2, date_colle)
Classes(id, id_note, id_user, appreciation, date_conseil)
Dates au format YYYY-MM-DD. Notes sur 20.
📖 Rappel de cours
Une CTE récursive s'écrit en deux parties reliées par UNION ALL : un cas de départ, puis une étape qui se réfère à la CTE elle-même. C'est un parcours de graphe écrit en SQL.
⚠ Le piège : Sans garde-fou, un cycle fait tourner la récursion indéfiniment. Il faut mémoriser le chemin déjà parcouru, ou borner la profondeur — c'est tout l'enjeu de l'exercice.
← Exercices SQL pour la prépa — bases de données en CPGE
Exercices du meme theme
- CTE : statistiques intermédiaires par élève
- DENSE_RANK des filières par nombre d'élèves
- HAVING avec sous-requête : filières au-dessus de la moyenne
- INSERT ... SELECT : archiver les anciennes évaluations
- UPDATE avec sous-requête : compter les appréciations
La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.