Agrégats sans groupe
Exercice · informatique (tronc commun des prépas scientifiques), chapitre 16 — SQL : jointures, agrégation et requêtes imbriquées
Énoncé
Calculer à l'aide d'une requête SQL distincte : (a) le nombre total d'usagers ; (b) le nombre d'emprunts effectués en octobre 2025 ; (c) l'année de parution moyenne des livres de Jules Verne ; (d) le nombre de pages du plus gros livre emprunté en septembre 2025.
Corrigé
-- (a) Nombre d'usagers
SELECT COUNT(*) FROM usager; -- Renvoie 6
-- (b) Nombre d'emprunts d'octobre
SELECT COUNT(*) FROM emprunt WHERE jour >= '2025-10-01'; -- Renvoie 5
-- (c) Année moyenne de parution pour Verne (id_auteur = 1)
SELECT AVG(annee) FROM livre WHERE id_auteur = 1; -- Renvoie 1870.33...
-- (d) Nombre de pages du plus grand livre emprunté en septembre
SELECT MAX(pages) FROM emprunt
JOIN livre ON emprunt.id_livre = livre.id_livre
WHERE jour <= '2025-09-30'; -- Renvoie 1536
Pour la question (b), le format des dates AAAA-MM-JJ permet d'écrire une simple comparaison de chaînes de caractères. Pour la question (d), la requête combine une jointure (pour récupérer la colonne pages), un filtre temporel sur septembre (les jours inférieurs ou égaux au 30 septembre) et la fonction d'agrégation MAX. Vérification : En septembre, les livres empruntés sont les identifiants (soit des nombres de pages respectifs de ). Le maximum est bien .
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.