Vous êtes sur la page 1sur 4

1) Clause Group By :

Il est possible de subdiviser la table en groupes. Chaque groupe étant l’ensemble des lignes
ayant une valeur commune.
Syntaxe : Group By exp1, exp2, …
Groupe en une seule lignes toutes les lignes pour lesquelles exp1, exp2, …ont la même valeur.
N.B : On peut apporter des conditions sur le groupement des résultats et cela grâce à La clause
Having Prédicat qui permet de sélectionner des ensembles de groupe.
Les fonctions de groupes (agrégations) sont définies ci-après :
AVG Donne la moyenne des valeurs numériques
SUM Donne la somme ou total des valeurs numériques
Count (*) Donne le nombre de lignes
Count (<Col>) Donne le nombre de valeurs de la colonne
Count (distinct <Col>) Donne le nombre de valeurs différentes
Min Donne la plus petite des valeurs
Max Donne la plus grande des valeurs
STDDEV Ecart Type (Déviation Standard)
… …

Exemple :
On considère la B.D d’une médiathèque contenant les relations (tables) suivantes :
Livre (C-Ouv, titre, genre, auteur)
Disque (C-Ouv, titre, style, producteur)
Abonnes (numA, NomA, PrenomA, VilleA)
Prêt (numA, C-Ouv, date_pret, n_ex)
Personnel (NomP, PrenomP, Adresse, Fonction, Salaire)

1) Select NomE, Ville From Personnel


Group by Ville ;
Donne les noms d’employés regroupés par ville

2) Select A.NomA, A.PrenomA, P.Count(N_Ex) as Nombre


From Abonne as A Join Prêt as P On A.NumA=P.NumA
Group by A.NomA, A.PrenomA;
Donne pour chaque abonné (nom et prénom) le nombre d’exemplaires empruntés.

3) Select Ville, NomE From Personnel


Group by Ville
Having Count(*)>1000 ;

Donne la liste des employés regroupés par ville où habitent plus de 1000 employés.

4) Select Max (salaire) As SalMax From Personnel


Where Adresse like ‘%Mostaganem%’ ;

Donne le salaire le plus élevé des employés habitant à Mostaganem.


I.N.S.F.P de Mostaganem
T.D N°05 (S.Q.L) –Fonctions de Groupes-

Section : T.S en Base de Données (Formation Continue)


Module : S.G.B.D Responsable : Mr. BENSAHA
EXERCICE N°1 :
Soit une Base de Données formée des relations (tables) suivantes :
ETUDIANT (Cod-etu, Nom-etu, Date-nais,Ville_P, Annee-Univ)
LIVRE (Cod-Liv,Titre, Annee-edi, Auteur)
PRET (Cod-etu, Cod-Liv,Date-Prêt, Retour)

(Retour = 1 : livre rendu. Retour =0 : livre non rendu)


Exprimer en langage S.Q.L les requêtes suivantes :

Q1) Donner les noms des étudiants qui ont prêtés un ou plusieurs livres durant le mois de juin 2007 ?
Q2) donner les titres des livres qui n’ont pas été restitués et les noms des étudiants concernés ?
Q3) donner le nombre total des livres prêtés par les étudiants de l’année universitaire 2009 ?
Q4) donner le nombre total des livres prêtés et non restitués par les étudiants résidant à Oran et qui ont
fait prêt le 05/03/2009.
EXERCICE N°2 :
Soit la Base de Données suivante représentant les activités des restaurants, représentées par les
relations (tables) suivantes :
RESTAURANT (Cod_Resto, NomR, VilleR, N_Etoile, Jour_Fermeture)
CUISINIER (N_SS, NomC, VilleC, Nationalite, Grade)
MENUS (Cod_Resto, NomPlat, Prix, Base, N_ss*)

Exprimer en langage S.Q.L les requêtes suivantes :

1) Donner la liste des restaurants « 4 étoiles » qui ne servent pas de plats à base de viande.
2) Donner : N°SS, Noms des cuisiniers algériens ayant le grade de ‘Chef Cuisinier’ et travaillant dans
la ville où ils habitent.
3) Donner les noms des plats servis par tous les restaurants ;
4) Donner les noms des cuisiniers étrangers travaillant dans plus d’un restaurant ;
5) Donner la liste des restaurants dont les cuisiniers ne peuvent pas participer à l’élaboration de plus de
cinq (05) plats.

EXERCICE N°3 :
Soit le Modèle Relationnel suivant relatif à la gestion des notes annuelles d’une promotion
d’étudiants :
ETUDIANT (N-Etu, Nom, Prénom)
MATIE0RE (CodeMat, LibelléMat), CoeffMat)
EVALUER (N-Etu, CodeMat, Date, Note)
Exprimer en langage S.Q.L les requêtes suivantes :
1) Quel est le nombre total d’étudiants ?
2) Quelles sont, parmi l’ensemble des notes, la note la plus haute et la note la plus basse ?
3) Quelles sont les moyennes de chaque étudiant dans chacune des matières ?
4) Quelles sont les moyennes par matière ?
N.B : On utilisera la requête de la question 3 comme table source.
5) Quelle est la moyenne générale de chaque étudiant ?
N.B : On utilisera la requête de la question 3 comme table source.
6) Quelle est la moyenne générale de la promotion ?
N.B : On utilisera la requête de la question 5 comme table source.
7) Quels sont les étudiants qui ont une moyenne générale supérieure ou égale à la moyenne
générale de la promotion ?
N.B : On utilisera la requête de la question 5 comme table source.

EXERCICE N°4 :
Soit une Base de Données formée des relations (tables) suivantes :
BUVEURS (NB, Nom, Prénom, Adresse)
BOISSON (NBS, Nom, type, prix)
ABUS (NB, NBS, Date_Fabr, NBout)
Avec : Type : Limonade, ou Jus. NBout : Nombre de bouteilles

Exprimer en langage S.Q.L les requêtes suivantes :


1) Afficher toutes les boissons de type limonade et jus en même temps ?
2) Donner pour chaque type de boisson : son nom et le nombre des buveurs concernés ?
3) Donner le nom, prénom et adresse des buveurs ayant bu plus de 10 bouteilles de coca-cola de
l’année 2013 ?
4) Donner les noms et prénoms des buveurs n’ayant pas bu que du jus ?
5) Afficher pour chaque boisson (nom boisson) la somme des bouteilles bues ainsi que la moyenne
des prix des boissons gazeuses PEPSI ?
6) Donner les noms et prénoms des buveurs ayant bu depuis 2011 des boissons TCHINA de type
Jus un nombre de bouteilles > 10 ?
7) Donner pour chaque Boisson (nomB) la liste des buveurs (NB) tel que le nombre total des
bouteilles bue < 100 ?

EXERCICE N°5 :

Soit la Base de Données F-P-J « Fournisseur-Pièce-Projet » dont les relations (tables) sont
présentées ci-après :

F(NF, NomF, Capital, VilleF) P(NP, NomP, Couleur, Poids, VilleP)


J(NJ, NomJ, VilleJ) FPJ(NF, NP, NJ, Qte)
Exprimer en langage S.Q.L les requêtes suivantes :
1) donner les couples de noms de fournisseurs de même nom ;
2) donner les noms des fournisseurs qui approvisionnent toutes les pièces rouges ;
3) donner les: NF et NomF qui ne fournissent aucune pièce
4) donner les le nombre total des projets approvisionnés par le fournisseur F1 ;
5) donner le total des quantités de pièces P1 de couleur orange fournie par le fournisseur
F2 ;
6) pour chaque pièce fournie, donner son Numéro, numéro de projet approvisionné et la
quantité totale correspondante ;
7) donner les numéros des pièces fournies par plus de 2 fournisseurs différents;
8) donner la liste des fournisseurs dont le capital est inférieur au capital maximal existant ;
9) déterminer la moyenne des quantités des produits en stock ;

10) donner pour chaque projet: Numéros de fournisseurs (NF) qui approvisionnent la pièce P1 en
quantité > à la quantité moyenne de P1

11) créer une table (vue) contenant les Numéros de projets réalisés à Mostaganem ou qui sont
approvisionnées par les fournisseurs d'Oran.

Vous aimerez peut-être aussi