© Éditions Eyrolles
141
chapitre n° 4
Interrogation des données
Opérateur USING
La directive USING(col1, col2…) de la clause JOIN programme une jointure naturelle restreinte à un ensemble de colonnes. Il ne faut pas utiliser d’alias de tables dans la liste des
colonnes.
Dans notre exemple, on peut restreindre la jointure naturelle aux colonnes brevet ou
typeAv. Si on les positionnait (brevet, typeAv) dans la directive USING, cela reviendrait
à construire un NATURAL JOIN. Le tableau suivant détaille deux écritures d’une jointure
naturelle restreinte :
Opérateur CROSS JOIN
La directive CROSS JOIN programme un produit cartésien qu’on peut restreindre dans la
clause WHERE.
+--------+--------------+--------+------------+
| brevet | nom
| typeAv | validite
|
+--------+--------------+--------+------------+
| PL-2
| Didier Linxe | A320
| 2006-04-04 |
| PL-3
| Henri Alquié | A380
| 2007-07-20 |
+--------+--------------+--------+------------+
Tableau 4-47 Jointures naturelles (suite)
Besoin
Jointures SQL2 et résultat
Tableau 4-48 Jointures naturelles restreintes
Besoin
Jointures SQL2 et résultat
Nom des navigants avec leurs
qualifications et dates de
validité.
SELECT nom, v.typeAv, v.validite FROM Naviguant
;
SELECT nom, v.typeAv, v.validite FROM VolsControle v
;
+----------------+--------+------------+
| nom
| typeAv | validite
|
+----------------+--------+------------+
| Pierre Lamothe | A320
| 2005-06-24 |
| Didier Linxe
| A320
| 2006-04-04 |
| Didier Linxe
| A330
| 2006-05-13 |
| Henri Alquié
| A380
| 2007-07-20 |
| Henri Alquié
| A320
| 2005-03-12 |
+----------------+--------+------------+
Web
JOIN VolsControle v USING(brevet)
JOIN Naviguant USING(brevet)
141
chapitre n° 4
Interrogation des données
Opérateur USING
La directive USING(col1, col2…) de la clause JOIN programme une jointure naturelle restreinte à un ensemble de colonnes. Il ne faut pas utiliser d’alias de tables dans la liste des
colonnes.
Dans notre exemple, on peut restreindre la jointure naturelle aux colonnes brevet ou
typeAv. Si on les positionnait (brevet, typeAv) dans la directive USING, cela reviendrait
à construire un NATURAL JOIN. Le tableau suivant détaille deux écritures d’une jointure
naturelle restreinte :
Opérateur CROSS JOIN
La directive CROSS JOIN programme un produit cartésien qu’on peut restreindre dans la
clause WHERE.
+--------+--------------+--------+------------+
| brevet | nom
| typeAv | validite
|
+--------+--------------+--------+------------+
| PL-2
| Didier Linxe | A320
| 2006-04-04 |
| PL-3
| Henri Alquié | A380
| 2007-07-20 |
+--------+--------------+--------+------------+
Tableau 4-47 Jointures naturelles (suite)
Besoin
Jointures SQL2 et résultat
Tableau 4-48 Jointures naturelles restreintes
Besoin
Jointures SQL2 et résultat
Nom des navigants avec leurs
qualifications et dates de
validité.
SELECT nom, v.typeAv, v.validite FROM Naviguant
;
SELECT nom, v.typeAv, v.validite FROM VolsControle v
;
+----------------+--------+------------+
| nom
| typeAv | validite
|
+----------------+--------+------------+
| Pierre Lamothe | A320
| 2005-06-24 |
| Didier Linxe
| A320
| 2006-04-04 |
| Didier Linxe
| A330
| 2006-05-13 |
| Henri Alquié
| A380
| 2007-07-20 |
| Henri Alquié
| A320
| 2005-03-12 |
+----------------+--------+------------+
Web
JOIN VolsControle v USING(brevet)
JOIN Naviguant USING(brevet)
