
3
Systèmes de 
Gestion de 
Bases de 
Données
141
Equivalences
col1 =(select 
min(col2) from …)
col1 <= all (select 
col2 from …)
col1 <=(select 
max(col2) from …)
col1 <= any (select 
col2 from …)
col1 =(select 
max(col2) from …)
col1 >= all (select 
col2 from …)
col1 >= (select 
min(col2) from …)
col1 >= any (select 
col2 from …)
requête équivalenterequête
Systèmes de 
Gestion de 
Bases de 
Données
142
select *
from produit
where prix = (select max(prix) from produit);
Le nom du produit le plus cher
Exemple
select *
from produit
where prix >=all (select prix from produit);
Systèmes de 
Gestion de 
Bases de 
Données
143
Id du produit le plus commandé
Sous requête et Having
select idProduit
from ligne
Group by idProduit
Having count(*) >=all(select count(*) 
from ligne
group by idProduit);
Attention: dans ce cas on ne peut pas remplacer « >= all » par 
« … = select max (..) … »
Systèmes de 
Gestion de 
Bases de 
Données
144
1. nom et prix des produits qui n’ont jamais été 
commandés ;
2. id et nom des personnes qui n’ont jamais passé de 
commande ;
3. id de la commande la plus chère ;
4. id, nom et prix des produits plus chers que la 
moyenne ;
5. id des marques qui n’ont jamais été commandées 
par la personne dont l’id est « 752 » ;
6. id des commandes avec l’écart entre leur montant et 
le montant de la commande la plus chère ;
Sous-requêtes : exercices
Systèmes de 
Gestion de 
Bases de 
Données
145
7. Nombre de produits qui n’ont jamais été 
commandés ; 
8. Pourcentage du chiffre d’affaire pour chaque 
marque.
9. Listes des produits triés dans l’ordre: de celui 
dont le prix est le plus proche de la moyenne, à 
celui dont le prix est le plus éloigné.
10. Id du produit médian. Le produit médian est 
celui pour lequel on trouve autant de produits 
plus chers que de produits moins chers.
Sous-requêtes : exercices
Systèmes de 
Gestion de 
Bases de 
Données
146
•Les sous-requêtes étudiées jusqu’à présent sont indépendantes 
de la requête externe à la quelle elles sont intégrées.
•Pour extraire certaines informations, il faut parfois avoir recours 
à des sous-requêtes plus élaborées: les sous-requêtes corrélatives.
•On parle de sous-requête corrélative lorsqu’il y a corrélation 
entre les données provenant de la requête principale et celles de la 
sous-requête.
•La sous-requête ne peut plus s’exécuter indépendamment de la 
requête principale.
Sous-requêtes corrélatives