Bases des bases de données
La colonne Points d'une table Examen contient 4 valeurs : 80, NULL, 70, 90 (NULL signifie que la personne n'a pas passé l'examen). Quel est le résultat de SELECT AVG(Points) FROM Examen ?
- A60
- B80
- CNULL
Afficher la réponse et l'explication
Réponse : B. 80
Les fonctions d'agrégation de SQL (SUM, AVG, MAX, MIN, et COUNT avec une colonne spécifiée) ignorent NULL. AVG(Points) est la moyenne des 3 valeurs non NULL : (80 + 70 + 90) ÷ 3 = 240 ÷ 3 = 80. Considérer NULL comme 0 et diviser par 4 donnerait 240 ÷ 4 = 60, mais AVG ne calcule pas ainsi. Pour faire la moyenne en comptant les absents comme 0 point, on remplace NULL par 0 avant l'agrégation, comme dans AVG(COALESCE(Points, 0)). Si toutes les valeurs sont NULL, le résultat d'AVG est NULL.
Continuer : 9 autres questions sur Bases des bases de données