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

SQL Agragation

Le document présente les fonctions d'agrégation en SQL, telles que AVG, COUNT, MAX, MIN et SUM, ainsi que leur utilisation avec des exemples pratiques sur une table d'élèves. Il aborde également la syntaxe pour trier les résultats, limiter l'affichage et manipuler les données avec des commandes comme INSERT, UPDATE et DELETE. Enfin, des exemples illustrent comment effectuer des requêtes pour obtenir des statistiques et gérer les données dans une base de données relationnelle.

Transféré par

irhannouri77
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)
5 vues41 pages

SQL Agragation

Le document présente les fonctions d'agrégation en SQL, telles que AVG, COUNT, MAX, MIN et SUM, ainsi que leur utilisation avec des exemples pratiques sur une table d'élèves. Il aborde également la syntaxe pour trier les résultats, limiter l'affichage et manipuler les données avec des commandes comme INSERT, UPDATE et DELETE. Enfin, des exemples illustrent comment effectuer des requêtes pour obtenir des statistiques et gérer les données dans une base de données relationnelle.

Transféré par

irhannouri77
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

Langage SQL

(Suite)

Prof : [Link]

CPGE TETOUAN
MPSI-TSI
chafikislam@[Link]

8 avril 2025
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Les fonctions d’agrégation utilisées sont :


AVG : Calcule la moyenne
COUNT : Calcule le nombre de lignes
MAX : Calcule la valeur maximale
MIN : Calcule la valeur minimale
SUM : Effectue la somme des valeurs

1/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac maximale des élèves

2/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac maximale des élèves


SELECT MAX(NoteBac) FROM Eleves ;

2/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

une requête SQL qui permet de compter le nombre d’élèves ayant obtenu une
note supérieure à la moyenne des notes des élèves.

3/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

une requête SQL qui permet de compter le nombre d’élèves ayant obtenu une
note supérieure à la moyenne des notes des élèves.
SELECT COUNT(*) AS nb FROM eleves
WHERE notes > (SELECT AVG(notes) FROM eleves)

3/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac maximale des élèves de chaque classe

4/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac maximale des élèves de chaque classe

4/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Group by

Utiliser GROUP BY pour regrouper les élèves par classe


Utiliser la fonction MAX() pour trouver la plus haute note dans chaque
groupe."

5/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Group by

Utiliser GROUP BY pour regrouper les élèves par classe


Utiliser la fonction MAX() pour trouver la plus haute note dans chaque
groupe."

SELECT classe, MAX(NoteBac) AS NoteMax FROM Eleves GROUP BY classe ;

5/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :

Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher pour chaque classe le nombre d’élèves, mais seulement pour les classes
dont la moyenne de la note du bac est supérieure à 14

6/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :

Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher pour chaque classe le nombre d’élèves, mais seulement pour les classes
dont la moyenne de la note du bac est supérieure à 14
SELECT classe, COUNT(*) AS nombreEleves
FROM Eleves
GROUP BY classe
HAVING AVG(NoteBac)>14 ;

6/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Syntaxe générale :

SELECT A1 , ..., An , f 1 ( B1 ), ..., f m ( Bm )FROM R GROUP BY A1 , ..., An


HAVING condition ;
Avec A1 , ..., An des colonnes de la table R, et f 1 , ..., f m des fonctions d’agréga-
tion appliquées sur des colonnes B1 , ..., Bm de la table R

7/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Remarque :
Sur le résultat de GROUP BY, on trouve qu’une seule ligne pour chaque
groupe. Toutes les fonctions d’agrégation excluent par défaut les valeurs
NULL avant de travailler sur les données.
Lorsque vous utilisez la clause GROUP BY, chaque colonne que vous
sélectionnez dans la clause SELECT doit également apparaître dans la
clause GROUP BY, à moins qu’elle ne soit utilisée avec une fonction
d’agrégation.

8/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Remarque :
Sur le résultat de GROUP BY, on trouve qu’une seule ligne pour chaque
groupe. Toutes les fonctions d’agrégation excluent par défaut les valeurs
NULL avant de travailler sur les données.
Lorsque vous utilisez la clause GROUP BY, chaque colonne que vous
sélectionnez dans la clause SELECT doit également apparaître dans la
clause GROUP BY, à moins qu’elle ne soit utilisée avec une fonction
d’agrégation.
HAVING permet de filtrer les résultats basés sur des conditions
appliquées aux résultats d’agrégation.

8/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Il est possible de trier les données sur une ou plusieurs colonnes :


par ordre ascendant (ASC)
par ordre descendant (DESC)
Par défaut les résultats sont classés par ordre ascendant.

9/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher l’identifiant, le nom et le prenom des élèves par ordre croissant du


nom.

10/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher l’identifiant, le nom et le prenom des élèves par ordre croissant du


nom.
SELECT id, Nom , Prenom
FROM classe Eleves
ORDER BY Nom ;

10/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac moyenne de chaque classe, et trier le résultat par ordre
décroissant de la note moyenne.

11/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Eleves (Id , Nom, Prenom, Tel, NoteBac, dateNaissance, classe)

Afficher la note de bac moyenne de chaque classe, et trier le résultat par ordre
décroissant de la note moyenne.
SELECT classe, AVG(NoteBac) AS moyenne
FROM Eleves
GROUP BY classe
ORDER BY moyenne DESC ;

11/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Syntaxe générale :
SELECT . . . FROM . . . WHERE . . .
ORDER BY colonne1 [ASC | DESC],. . . , colonneP [ASC | DESC] ;

12/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Pour limiter le nombre d’éléments (lignes) retournés par une requête, on uti-
lisera la commande :
SELECT ... FROM ... LIMIT N OFFSET M ;

LIMIT N avec N un entier, permet de limiter le nombre de résultats à N


OFFSET M indique de passer M lignes avant de renvoyer les lignes
restantes.

13/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Articles (idArticle, nom, prix)

Afficher les noms des 3 plus chers articles

14/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Articles (idArticle, nom, prix)

Afficher les noms des 3 plus chers articles


SELECT nom
FROM Articles
ORDER BY prix DESC
LIMIT 3 ;

14/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Une requête SQL permet également de manipuler les données à l’aide de trois
commandes fondamentales :

INSERT : Pour insérer de nouvelles données dans une table.


UPDATE : Pour mettre à jour des données existantes dans une table.
DELETE : Pour supprimer des données d’une table.

Ces commandes sont essentielles pour modifier et gérer les données stockées
dans une base de données relationnelle en utilisant le langage SQL.

15/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Insertion d’une ligne dans une table :


INSERT INTO nom_table VALUES (valeur1, valeur2, valeur3,...)

16/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple : CNC 2023

17/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple : CNC 2023

INSERT INTO Personne VALUES (123, "GUISSI", "MARYAM","F") ;

INSERT INTO Personne VALUES (138, "FORA", "AHMED","M")

17/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Copie des Données entre Tables :

INSERT INTO SELECT copie des données d’une table et les insère dans
une autre table.
INSERT INTO SELECT exige que les types de données dans les tables
source et cible correspondent.
la table cible doit exister.

18/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Copie des Données entre Tables :


INSERT INTO nomtable_cible
SELECT * FROM nomtable_source WHERE condition ;

19/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple : CNC 2018

20/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple : CNC 2018

INSERT INTO membres_1


SELECT * FROM membres
WHERE prenom = (SELECT prenom FROM membres WHERE generation =
0) ;

20/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Modification d’une ligne dans une table :

UPDATE nom_table
SET col1 = val1, col2 = val2, ...
WHERE condition ;

21/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Modification d’une ligne dans une table :

UPDATE nom_table
SET col1 = val1, col2 = val2, ...
WHERE condition ;

Cela permet d’attribuer une nouvelle valeur val1 à la colonne col1 et val2 à la
colonne col2 pour les lignes qui respectent la condition stipulé avec WHERE.

21/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Empolye (Id , Nom, Prenom, Poste, Salaire)
Donner une requête SQL permettant d’augmenter le salaire des ingénieurs de
10% de la table employé

22/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Empolye (Id , Nom, Prenom, Poste, Salaire)
Donner une requête SQL permettant d’augmenter le salaire des ingénieurs de
10% de la table employé
UPDATE Employe
SET salaire = salaire * 1.1
WHERE Poste = "ingenieur"

22/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Supprimer des lignes d’une table :

DELETE FROM nom_table


WHERE condition ;

23/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Supprimer des lignes d’une table :

DELETE FROM nom_table


WHERE condition ;

Cela permet de supprimer toutes les lignes qui vérifient la condition stipulée
avec WHERE.

23/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Empolye (Id , Nom, Prenom, Poste, Salaire)
Donner une requête SQL pour supprimer tous les employés dont le poste est
’technicien’ de la table employé :

24/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

Exemple :
Soit la table :
Empolye (Id , Nom, Prenom, Poste, Salaire)
Donner une requête SQL pour supprimer tous les employés dont le poste est
’technicien’ de la table employé :
DELETE FROM Employe
WHERE Poste = ’technicien’ ;

24/25
Fonctions d’agrégation Trier les résultats Limitation de l’affichage Manipulation des données FIN DU PROGRAMME

25/25

Vous aimerez peut-être aussi