© Éditions Eyrolles
139
chapitre n° 4
Interrogation des données
Utilisons la table suivante pour décrire l’utilisation de l’opérateur EXISTS :
La sous-interrogation synchronisée est surlignée dans le script suivant :
Opérateur NOT EXISTS
L’opérateur NOT EXISTS retourne la valeur TRUE si aucun enregistrement n’est extrait par la
sous-interrogation. Cet opérateur peut être utilisé pour écrire des jointures externes.
Figure 4-19 Utilisation de EXISTS
Pilote
brevet
nom
nbHVol compa
chefPil
PL-1
Pierre Lamothe
450
AF
PL-2
Didier Linxe
900
AF
PL-4
PL-3
Christian Soutou
1000
SING
PL-4
PL-4
Henri Alquié
3400
AF
PL-5
Michel Castaings
Tableau 4-45 Opérateur EXISTS
Besoin
Requête et résultat
R15. Pilotes ayant au moins un pilote sous
leur responsabilité.
SELECT pil1.brevet, pil1.nom, pil1.compa
FROM Pilote pil1 WHERE
+--------+--------------+-------+
| brevet | nom
| compa |
+--------+--------------+-------+
| PL-4
| Henri Alquié | AF
|
+--------+--------------+-------+
Web
EXISTS
(SELECT pil2.* FROM Pilote pil2
WHERE pil2.chefPil = pil1.brevet);
Tableau 4-46 Opérateur NOT EXISTS
Besoin
Requête et résultat
Liste des compagnies n’ayant
pas de pilote.
SELECT cpg.* FROM Compagnie cpg WHERE NOT EXISTS
;
+------+------+-------------+---------+-------------+
| comp | nrue | rue
| ville
| nomComp
|
+------+------+-------------+---------+-------------+
| CAST |
1 | G. Brassens | Blagnac | Castanet AL |
+------+------+-------------+---------+-------------+
(SELECT compa FROM PiloteWHERE compa = cpg.comp)
139
chapitre n° 4
Interrogation des données
Utilisons la table suivante pour décrire l’utilisation de l’opérateur EXISTS :
La sous-interrogation synchronisée est surlignée dans le script suivant :
Opérateur NOT EXISTS
L’opérateur NOT EXISTS retourne la valeur TRUE si aucun enregistrement n’est extrait par la
sous-interrogation. Cet opérateur peut être utilisé pour écrire des jointures externes.
Figure 4-19 Utilisation de EXISTS
Pilote
brevet
nom
nbHVol compa
chefPil
PL-1
Pierre Lamothe
450
AF
PL-2
Didier Linxe
900
AF
PL-4
PL-3
Christian Soutou
1000
SING
PL-4
PL-4
Henri Alquié
3400
AF
PL-5
Michel Castaings
Tableau 4-45 Opérateur EXISTS
Besoin
Requête et résultat
R15. Pilotes ayant au moins un pilote sous
leur responsabilité.
SELECT pil1.brevet, pil1.nom, pil1.compa
FROM Pilote pil1 WHERE
+--------+--------------+-------+
| brevet | nom
| compa |
+--------+--------------+-------+
| PL-4
| Henri Alquié | AF
|
+--------+--------------+-------+
Web
EXISTS
(SELECT pil2.* FROM Pilote pil2
WHERE pil2.chefPil = pil1.brevet);
Tableau 4-46 Opérateur NOT EXISTS
Besoin
Requête et résultat
Liste des compagnies n’ayant
pas de pilote.
SELECT cpg.* FROM Compagnie cpg WHERE NOT EXISTS
;
+------+------+-------------+---------+-------------+
| comp | nrue | rue
| ville
| nomComp
|
+------+------+-------------+---------+-------------+
| CAST |
1 | G. Brassens | Blagnac | Castanet AL |
+------+------+-------------+---------+-------------+
(SELECT compa FROM PiloteWHERE compa = cpg.comp)
