SQL 2 – Groupement et jointures

Explication :
On peut combiner plusieurs clauses pour filtrer, regrouper et relier les tables.

 

Exemple : Afficher les étudiants dont la moyenne est supérieure à 12 uniquement pour la matière Maths.

 

SELECT Etudiants.Nom, Etudiants.Prénom, AVG(Notes.Note) AS Moyenne

FROM Etudiants, Notes

WHERE Etudiants.id_etudiant = Notes.id_etudiant

AND Notes.Matiere = ‘Maths’

GROUP BY Etudiants.id_etudiant, Etudiants.Nom, Etudiants.Prénom

HAVING AVG(Notes.Note) > 12;

 

Résultat attendu :

Nom Prénom Moyenne
Claire Dupont 14
Sophie Bernard 16

 

Explication :

  • WHERE → filtre les lignes pour la matière Maths.
  • GROUP BY → regroupe les notes par étudiant.
  • HAVING → filtre les groupes dont la moyenne est > 12.