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

Fiche5 BD

Transféré par

Nabil KHOUFI
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)
39 vues4 pages

Fiche5 BD

Transféré par

Nabil KHOUFI
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

IHE Sfax Matière: Base de Données

Enseignant responsable : Nabil KHOUFI A.U : 2017/2018


Auditoire : 2ème année RI / IMM

Fiche n°5 : Tri et Regroupement

Objectifs :
- Trier les lignes retournées par une requête
- Utiliser les fonctions de groupe
- Regrouper des lignes de données avec la clause GROUP BY

1. Tri
Les lignes constituant le résultat d’un SELECT sont obtenues dans un ordre quelconque. La
clause ORDER BY précise l’ordre dans lequel la liste des lignes sélectionnées sera donnée.
Syntaxe
SELECT Col1, Col2, …, Coln
FROM <Liste des tables>
[ WHERE <Condition> ]
[ ORDER BY Col1 [ASC| DESC], Col2 [ASC| DESC], … ] ;

• ASC et DESC précisent l’ordre (croissant ou décroissant).


• L’ordre de tri par défaut est croissant (ASC).

Exemple
Donner les noms des clients suivant l’ordre décroissant.
SELECT NOMCL
FROM CLIENT
ORDER BY NOMCL DESC ;

NCL NOMCL ADRCL NOMCL

CL01 BATAM Tunis PRODELEC

CL02 BATIMENT Tunis GLOULOU

CL03 AMS Sousse BATIMENT

CL04 GLOULOU Sousse BATAM

CL05 PRODELEC Tunis AMS

1
Base de données
IHE Sfax Matière: Base de Données
Enseignant responsable : Nabil KHOUFI A.U : 2017/2018
Auditoire : 2ème année RI / IMM

2. Fonctions de groupe
AVG ( [ DISTINCT | ALL] Colonne ) Calcule la moyenne arithmétique des
valeurs de la colonne. Le résultat est la
somme des valeurs non NULL divisée par
le nombre de valeurs non NULL.
COUNT (*) Donne le nombre de toutes les lignes.
COUNT ( [ DISTINCT | ALL] Colonne ) Donne le nombre de lignes ayant une
valeur non NULL dans la colonne.
MAX( [ DISTINCT | ALL] Colonne ) Donne le maximum des valeurs de la
colonne.
MIN( [ DISTINCT | ALL] Colonne ) Donne le minimum des valeurs de la
colonne.
STDDEV( [ DISTINCT | ALL] Colonne ) Donne l'écart type de la colonne.
VARIANCE( [ DISTINCT | ALL] Colonne ) Donne la variance des valeurs de la
colonne.
SUM( Colonne ) Calcule la somme des valeurs non NULL
de la colonne.

Remarque
DISTINCT indique à la fonction de groupe de ne prendre en compte que des valeurs
distinctes. ALL indique à la fonction de groupe de prendre en compte toutes les valeurs, c’est
la valeur par défaut.

Exemple
Donner la moyenne des prix unitaires des produits.
SELECT AVG(PU) MOYENNE
FROM PRODUIT ;

NP LIBP COUL POIDS PU QTES


P001 Robinet Gris 5 18 1200
P002 Prise Blanc 1,2 1,5 1000
P003 Cable Blanc 2 25 1500 MOYENNE

P004 Peinture Blanc 25 33 900 29

P005 Poignee Gris 3 12 1300


P006 Serrure Jaune 2 47 1250
P007 Verrou Gris 1,7 5,5 2000
P008 Fer Noir 50 90 800

2
Base de données
IHE Sfax Matière: Base de Données
Enseignant responsable : Nabil KHOUFI A.U : 2017/2018
Auditoire : 2ème année RI / IMM

3. Regroupement

Syntaxe
SELECT Col1 [, Col2, …], Fonction1_Groupe(…) [, Fonction2_Groupe(…), …]
FROM <Liste des tables>
[ WHERE Condition ]
[ GROUP BY Col1 [, Col2, …] ]
[ HAVING Condition_Regroupement ] ;

• La clause GROUP BY est utilisée pour regrouper les lignes d’une table selon une ou
plusieurs colonnes. Elle est suivie d’une ou plusieurs colonnes.
• La clause HAVING va de pair avec la clause GROUP BY, elle permet d'appliquer une
restriction sur les groupes créés grâce à la clause GROUP BY.

Remarque
Les colonnes présentes dans le SELECT doivent apparaître dans le GROUP BY. Seules des
fonctions peuvent exister en plus dans le SELECT.
Exemple
Donner le nombre de commandes par client.
SELECT NCL, COUNT(NCMD) "NOMBRE CMD"
FROM COMMANDE
GROUP BY NCL ;

NCMD DATECMD NCL


C001 10/01/11 CL02 NCL NOMBRE CMD

C002 13/02/11 CL05 CL05 2


CL02 1
C003 15/03/11 CL03
CL03 2
C004 03/09/11 CL05
C005 11/09/11 CL03

4. Applications

a) Donner le prix du produit le moins cher et celui du produit le plus cher.


……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………

b) Donner la quantité totale commandée par produit.


…………………………………………………………………………………………………………………………………………………………….
.……………………………………………………………………………………………………………………………………………………………
…………………………………………………………………………………………………………………………………………………………….

3
Base de données
IHE Sfax Matière: Base de Données
Enseignant responsable : Nabil KHOUFI A.U : 2017/2018
Auditoire : 2ème année RI / IMM

c) Donner le nombre de produits par commande.


……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………

d) Donner les commandes dont le nombre de produits dépasse 2.


……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………

e) Donner le nombre de produits et la quantité totale par commande suivant l’ordre


décroissant du nombre de produits et l’ordre croissant de la quantité totale.
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………

f) Donner la liste des clients qui ont au moins 2 commandes


……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………
……………………………………………………………………………………………………………………………………………………………

4
Base de données

Vous aimerez peut-être aussi