CTE : statistiques intermédiaires par élève
PrepaSup
Enonce
En utilisant une CTE (clause WITH), calcule d'abord le nombre de notes et le nombre d'appréciations de chaque élève, puis affiche les élèves dont le nombre d'appréciations dépasse le nombre de notes.
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
La clause WITH nomme un résultat intermédiaire et le rend utilisable dans la suite de la requête. On calcule d'abord les statistiques, on filtre ensuite dessus.
⚠ Le piège : Une CTE n'est pas une table : elle n'existe que le temps de la requête et n'est pas indexée. Elle sert la lisibilité, pas la performance — ne pas en attendre un gain de vitesse.
← Exercices SQL pour la prépa — bases de données en CPGE
Exercices du meme theme
- Total cumulé d'appréciations (running total)
- Cross join : toutes les combinaisons élève-filière
- Agrégation conditionnelle avec CASE WHEN
- DENSE_RANK des filières par nombre d'élèves
- HAVING avec sous-requête : filières au-dessus de la moyenne
- CTE récursive : chaîne de colles depuis l'élève 1
La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.