Exercices SQL corrigés : COUNT, SUM, AVG, MIN, MAX

Exercices SQL corrigés : COUNT, SUM, AVG, MIN, MAX

Mis à jour le

Les agrégats résument plusieurs lignes en une valeur : COUNT, SUM, AVG, MIN, MAX. Ces 3 exercices vont du niveau 1 au niveau 2 ; ils utilisent la syntaxe de SQLite, le moteur SQL de SpeedQL.

Conseil : COUNT(*) compte les lignes ; COUNT(colonne) ignore les valeurs NULL.

Relire la fiche « COUNT, SUM, AVG, MIN, MAX » de l’aide-mémoire

Exercice 1 · niveau 1

Affiche le nombre total de produits.

Table products (6 lignes)
idnamecategorypricestock
1KeyboardOffice2540
2MouseOffice150
3ScreenDisplay18012
4HeadsetAudio608
5WebcamOffice450
6SpeakerAudio3525
Voir l’indice

Notions à utiliser : COUNT, SUM, AVG, MIN, MAX.

Structure de la requête :

SELECT COUNT(*)
FROM 
Voir la correction
SELECT COUNT(*)
FROM products;

Résultat attendu (1 ligne) :

COUNT(*)
6

Exercice 2 · niveau 1

Affiche le salaire le plus élevé parmi tous les employés.

Table employees (8 lignes)
idnamedepartmentsalary
1AliceFinance32000
2BobIT41000
3ClaireFinance38000
4DavidHR29000
5EmmaIT50000
6FaridIT47000
7GaelleHR33000
8HugoFinance44000
Voir l’indice

Notions à utiliser : COUNT, SUM, AVG, MIN, MAX.

Structure de la requête :

SELECT MAX()
FROM 
Voir la correction
SELECT MAX(salary)
FROM employees;

Résultat attendu (1 ligne) :

MAX(salary)
50000

Exercice 3 · niveau 2

Affiche le nombre de matchs nuls (les deux équipes ont marqué autant de buts) et le nombre total de buts marqués pendant ces matchs.

Table matches (10 lignes)
idplayed_onhome_idaway_idhome_goalsaway_goals
12025-08-021221
22025-08-033400
32025-08-095113
42025-08-102322
52025-08-164531
62025-08-171310
72025-08-232401
82025-08-243523
92025-08-304111
102025-08-315202
Voir l’indice

Notions à utiliser : WHERE (filtres), COUNT, SUM, AVG, MIN, MAX.

Structure de la requête :

SELECT COUNT(*), SUM( + )
FROM 
WHERE  = 
Voir la correction
SELECT COUNT(*), SUM(home_goals + away_goals)
FROM matches
WHERE home_goals = away_goals;

Résultat attendu (1 ligne) :

COUNT(*)SUM(home_goals + away_goals)
36

S’entraîner avec correction automatique

Dans SpeedQL, tu écris ta requête et elle est vérifiée tout de suite, sur ces tables puis sur un jeu de données caché.

S’entraîner sur les 7 questions « COUNT, SUM, AVG, MIN, MAX »