0% ont trouvé ce document utile (0 vote)
0 vues7 pages

TP-SQL-2

Le document présente des fonctions SQL essentielles telles que AVG(), COUNT(), MAX(), MIN(), et SUM(), illustrées par des exemples pratiques sur des tables d'étudiants et de ventes. Il explique également l'utilisation de GROUP BY pour regrouper des données et les requêtes multi-tables via JOIN, avec des exemples concrets de jointures entre les tables Étudiant et Classe. Enfin, il fournit des requêtes d'examen pour afficher des statistiques sur les étudiants et les ventes.

Transféré par

danieltahinaria
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues7 pages

TP-SQL-2

Le document présente des fonctions SQL essentielles telles que AVG(), COUNT(), MAX(), MIN(), et SUM(), illustrées par des exemples pratiques sur des tables d'étudiants et de ventes. Il explique également l'utilisation de GROUP BY pour regrouper des données et les requêtes multi-tables via JOIN, avec des exemples concrets de jointures entre les tables Étudiant et Classe. Enfin, il fournit des requêtes d'examen pour afficher des statistiques sur les étudiants et les ventes.

Transféré par

danieltahinaria
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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;

Vous aimerez peut-être aussi