Partie I
SQL de base
132
© Éditions Eyrolles
Jointures procédurales
Les jointures procédurales sont écrites par des requêtes qui contiennent des sous-interrogations (SELECT imbriqué). Chaque clause FROM ne contient qu’une seule table.
SELECT colonnesTable1 FROM [nomBase.]nomTable1
WHERE colonne(s) | expression(s) { IN | = | opérateur }
(SELECT colonne(s)delaTable2 FROM [nomBase.]nomTable2
WHERE colonne(s) | expression(s) { IN | = | opérateur }
(SELECT …)
[AND (conditionsTable2)]
)
[AND (conditionsTable1)];
Tableau 4-39 Jointures externes bilatérales
Requête
Jointure relationnelle
Jointures (théoriques) SQL2
R9
Sans objet.
SELECT nomComp, brevet, nom FROM Pilote
--équivalent à
SELECT nomComp, brevet, nom FROM Compagnie
;
NOMCOMP
BREVET NOM
--------------- ------ -------------------Air France
PL-4
Henri Alquié
Air France
PL-1
Pierre Lamothe
Air France
PL-2
Didier Linxe
Singapore AL
PL-3
Christian Soutou
R10
Sans objet.
SELECT qua.typeAv, pil.brevet, pil.nom
FROM Pilote pil
--équivalent à
SELECT qua.typeAv, pil.brevet, pil.nom
FROM Qualifs qua
TYPE BREVET NOM
---- ------ -------------------A320 PL-4
Henri Alquié
A320 PL-2
Didier Linxe
A330 PL-3
Christian Soutou
Web
FULL OUTER JOIN Compagnie ON comp = compa;
FULL OUTER JOIN Pilote ON comp = compa
Castanet AL
PL-5
Michel Castaings
FULL OUTER JOIN Qualifs qua
ON pil.brevet = qua.brevet;
FULL OUTER JOIN Pilote pil
ON pil.brevet = qua.brevet;
A380
PL-1
Pierre Lamothe
PL-5
Michel Castaings
SQL de base
132
© Éditions Eyrolles
Jointures procédurales
Les jointures procédurales sont écrites par des requêtes qui contiennent des sous-interrogations (SELECT imbriqué). Chaque clause FROM ne contient qu’une seule table.
SELECT colonnesTable1 FROM [nomBase.]nomTable1
WHERE colonne(s) | expression(s) { IN | = | opérateur }
(SELECT colonne(s)delaTable2 FROM [nomBase.]nomTable2
WHERE colonne(s) | expression(s) { IN | = | opérateur }
(SELECT …)
[AND (conditionsTable2)]
)
[AND (conditionsTable1)];
Tableau 4-39 Jointures externes bilatérales
Requête
Jointure relationnelle
Jointures (théoriques) SQL2
R9
Sans objet.
SELECT nomComp, brevet, nom FROM Pilote
--équivalent à
SELECT nomComp, brevet, nom FROM Compagnie
;
NOMCOMP
BREVET NOM
--------------- ------ -------------------Air France
PL-4
Henri Alquié
Air France
PL-1
Pierre Lamothe
Air France
PL-2
Didier Linxe
Singapore AL
PL-3
Christian Soutou
R10
Sans objet.
SELECT qua.typeAv, pil.brevet, pil.nom
FROM Pilote pil
--équivalent à
SELECT qua.typeAv, pil.brevet, pil.nom
FROM Qualifs qua
TYPE BREVET NOM
---- ------ -------------------A320 PL-4
Henri Alquié
A320 PL-2
Didier Linxe
A330 PL-3
Christian Soutou
Web
FULL OUTER JOIN Compagnie ON comp = compa;
FULL OUTER JOIN Pilote ON comp = compa
Castanet AL
PL-5
Michel Castaings
FULL OUTER JOIN Qualifs qua
ON pil.brevet = qua.brevet;
FULL OUTER JOIN Pilote pil
ON pil.brevet = qua.brevet;
A380
PL-1
Pierre Lamothe
PL-5
Michel Castaings
