Partie I
SQL de base
136
© Éditions Eyrolles
Jointures mixtes
Une jointure mixte combine des clauses de jointures relationnelles, procédurales (avec des
sous-interrogations) ou des clauses de jointures SQL2.
Jointure relationnelle procédurale
La jointure mixte suivante combine une clause de jointure relationnelle (en gras) avec une
jointure procédurale (en surligné) pour programmer la requête R4 :
SELECT SUM(p1.nbHVol)
FROM Pilote p1, Pilote p2
WHERE p1.chefPil = p2.brevet
AND
;
Ce type d’écriture peut être intéressant s’il n’est pas nécessaire d’afficher des colonnes des
tables présentes dans les sous-interrogations, ou si l’on désire appliquer des fonctions à des
regroupements.
ALL
R13. Avions dont le nombre
d’heures de vol est inférieur
à tous les A320.
SELECT immat, typeAv, nbHVol
FROM Avion
WHERE nbHVol
;
+-------+--------+--------+
| immat | typeAv | nbHVol |
+-------+--------+--------+
| A5
| A340
| 200.00 |
| A6
| A330
| 100.00 |
+-------+--------+--------+
R14. Compagnies et leurs
avions dont le nombre
d’heures de vol est supérieur à tous les avions de la
compagnie de code 'AF'.
SELECT immat, typeAv, nbHVol, compa
FROM Avion
WHERE nbHVol
;
+-------+--------+---------+-------+
| immat | typeAv | nbHVol | compa |
+-------+--------+---------+-------+
| A4
| A340
| 1800.00 | SING |
+-------+--------+---------+-------+
Tableau 4-42 Opérateurs ALL et ANY (suite)
Opérateur
Besoin
Requête et résultat
< ALL
(SELECT nbHVol FROM Avion
WHERE typeAv='A320')
> ALL
(SELECT nbHVol FROM Avion
WHERE compa = 'AF')
p2.compa = (SELECT comp FROM Compagnie WHERE nomComp =
'Air France')
Précédent

- 158/418

Suivant