1.
AVG() : Moyenne
La fonction AVG() calcule la moyenne d'une colonne numérique.
Table Etudiant
id nom note
1 Jean 12
2 Paul 15
3 Marie 18
Requête
SELECT AVG(note) AS moyenne FROM Etudiant;
Résultat
moyenne
15
Explication
Calcul effectué :
(12 + 15 + 18) / 3 = 15
AVG signifie Average (moyenne).
2. COUNT() : Compter
La fonction COUNT() compte le nombre de lignes.
Table Etudiant
id nom
1 Jean
2 Paul
3 Marie
4 Luc
Requête
SELECT COUNT(*) AS nombre_etudiant FROM Etudiant;
Résultat
nombre_etudiants
4
Explication
SQL compte toutes les lignes de la table.
3. MAX() : Valeur maximale
La fonction MAX() retourne la plus grande valeur.
Table Etudiant
nom note
Jean 12
Paul 15
Marie 18
Requête
SELECT MAX(note) AS meilleure_note FROM Etudiant;
Résultat
meilleure_note
18
Explication
La note la plus élevée est 18.
4. MIN() : Valeur minimale
La fonction MIN() retourne la plus petite valeur.
Requête
SELECT MIN(note) AS plus_petite_note FROM Etudiant;
Résultat
plus_petite_note
12
Explication
La note la plus faible est 12.
5. SUM() : Somme
La fonction SUM() additionne toutes les valeurs.
Table Vente
produit montant
Stylo 1000
Cahier 2000
Livre 5000
Requête
SELECT SUM(montant) AS total_vente FROM Vente;
Résultat
total_vente
8000
Explication
1000 + 2000 + 5000 = 8000
Récapitulatif
Fonction Rôle
AVG() Moyenne
COUNT() Compter
MAX() Maximum
MIN() Minimum
SUM() Somme
6. GROUP BY
GROUP BY permet de regrouper les lignes ayant la même valeur.
Exemple réel : ventes par ville
Table Vente
id ville montant
1 Fianarantsoa 1000
2 Antananarivo 2000
3 Fianarantsoa 3000
4 Antananarivo 1000
Requête
SELECT ville, SUM(montant) AS total FROM Vente GROUP BY ville;
Résultat
ville total
Fianarantsoa 4000
Antananarivo 3000
Explication
SQL crée deux groupes :
Groupe Fianarantsoa
1000 + 3000 = 4000
Groupe Antananarivo
2000 + 1000 = 3000
GROUP BY avec COUNT()
Table Employe
id nom service
1 Jean Informatique
2 Paul Informatique
3 Marie Comptabilité
4 Luc Informatique
Requête
SELECT service, COUNT(*) AS nombre FROM Employe GROUP BY service;
Résultat
service nombre
Informatique 3
Comptabilité 1
Explication
On compte le nombre d'employés dans chaque service.
7. Requêtes Multi-Tables (JOIN)
Les requêtes multi-tables permettent de relier plusieurs tables grâce à une clé étrangère.
Exemple réel : Étudiants et Classes
Table Classe
id_classe nom_classe
1 L1 Info
2 L2 Info
Table Etudiant
id nom id_classe
1 Jean 1
2 Paul 2
3 Marie 1
INNER JOIN
Afficher le nom de l'étudiant et sa classe.
Requête
SELECT
[Link],
Classe.nom_classe
FROM Etudiant
INNER JOIN Classe
ON Etudiant.id_classe = Classe.id_classe;
Résultat
nom nom_classe
Jean L1 Info
Paul L2 Info
Marie L1 Info
Explication
Pour Jean :
Etudiant.id_classe = 1
Classe.id_classe = 1
Donc :
Jean → L1 Info
SQL fait la même chose pour tous les étudiants.
JOIN + GROUP BY
Nombre d'étudiants par classe.
Requête
SELECT
Classe.nom_classe,
COUNT(*) AS nombre_etudiants
FROM Etudiant
INNER JOIN Classe
ON Etudiant.id_classe = Classe.id_classe
GROUP BY Classe.nom_classe;
Résultat
nom_classe nombre_etudiants
L1 Info 2
L2 Info 1
Explication
1. SQL relie les deux tables.
2. SQL regroupe les étudiants par classe.
3. SQL compte le nombre d'étudiants dans chaque classe.
Exemple complet d'examen
Afficher pour chaque ville le montant total des ventes.
SELECT
ville,
SUM(montant) AS total
FROM Vente
GROUP BY ville;
Afficher le nombre d'étudiants dans chaque classe.
SELECT
Classe.nom_classe,
COUNT(*) AS nombre
FROM Etudiant
INNER JOIN Classe
ON Etudiant.id_classe = Classe.id_classe
GROUP BY Classe.nom_classe;
Afficher la note moyenne des étudiants.
SELECT AVG(note) AS moyenne
FROM Etudiant;
Afficher la meilleure note.
SELECT MAX(note) AS meilleure_note
FROM Etudiant;
Afficher la plus petite note.
SELECT MIN(note) AS plus_petite_note
FROM Etudiant;
Afficher le total des ventes.
SELECT SUM(montant) AS total_vente
FROM Vente;