Un agrégat assez compliqué ...

Question

Calculer le nombre d'étudiants, ainsi que l'âge de l'étudiant le plus vieux reçu par module, pour les modules du département "Informatique" dont la moyenne globale est supérieure à 12. Ne donnez la requête qu'en SQL.

Solution

SQL
1
SELECT C.NC, COUNT(DISTINCT E.NE), MAX(E.AGE)
2
FROM ETUDIANT E, RESULTAT R, COURS C
3
WHERE E.NE = R.NE 
4
AND R.NC = C.NC
5
AND C.DPT = "Informatique"
6
GROUP BY C.NC
7
HAVING AVG(R.NOTE) > 12