Exercice : Group By & Having
Requête 1: Le nombre de clients pour chaque ville.
Select
From
Group by
Requête 2: Que permet d’afficher ces requêtes SQL :
Select cpcli, count(*) Select count(*), villecli
From clients From clients
Group by cpcli Group by villeCli
Requête 3: Le code de chaque film avec la durée de location la plus longue.
…………………………………………………………………………………………………
……………………………………………….
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………………………………………………………………
…………………………………………
Requête 4: Le nom de chaque film avec la durée de location la plus longue.
Select
From
Group by
Requête 5 : Le code de chaque film ainsi que la durée moyenne de location et
dans une colonne qui s'appelle "Moyenne".
………………………………………………………………………………………………………………………
………………………………………………………………………………………………………………………
………………………………………………………………………………………………
Requête 6 : Le nom de chaque film ainsi que la durée moyenne de location et
dans une colonne qui s'appelle "Moyenne".
Select
From
Group by
Faire des restrictions à l'aide de champs calculés ou des fonctions : HAVING
3. Que permet d’afficher ces requêtes SQL :
Select cpcli, count(*) Select codefilm, max(duree)
From clients From location
Group by cpcli Group by codefilm
Having count(*)>2 Having max(duree)>2
TP : les requêtes imbriquées
Syntaxe :
select …..
from ….
where nomcolonne opérateur (select ……….
from …………
[where ………])
Remarque :
Opérateur peut être : =, >, <, >= , <= , IN , NOT IN
Soit la base de données suivante :
1. Ecrire une requête SQL permettant d’afficher le numéro de la carte de l’étudiant
qui a la plus faible note
select …..
from ….
where ……………. …. (select ……….
from …………)
2. Ecrire une requete SQL permettant d’afficher le numéro de la carte de l’étudiant
qui a la note la plus élevée
select …..
from ….
where ……………….. ….. (select ……….
from …………)
3. Ecrire une requête SQL permettant d’afficher le numéro de la carte de l’étudiant
dont sa note dépasse la moyenne des notes
select …..
from ….
where ……………. ….. (select ……….
from …………)
4. Ecrire une requête SQL permettant d’afficher le nom de l’étudiant qui a la note la
plus élevée
select …..
from ….
where ……………. …. (select ……….
from …………)
5. Ecrire une requête SQL permettant d’afficher les noms des étudiants qui n’ont pas
passé l’examen
select …..
from ….
where ………………. ………. (select ……….
from …………)
6. Ecrire une requête SQL permettant d’afficher les prénoms des étudiants qui ont
passé l’examen
select …..
from ….
where ………………… …. (select ……….
from …………)
1. 7.
8. Ecrire une requête SQL permettant d’afficher le numero_carte_étudiant de l’étudiant qui a
passé au moins l’examen de deux matières. On affichera le champ numéro_carte_etudiant et ainsi
que le nombre de matières.
select …………………………..
from ……………………………..
group by ………………………..
having ……………………………