Partie I
SQL de base
116
© Éditions Eyrolles
Si vous voulez continuer ce raisonnement en vous basant sur trois compagnies, il suffit d’ajouter une clause WHERE dans les requêtes imbriquées qui interrogera la troisième compagnie. Ce
principe se généralise, et, pour n compagnies, il faudra n imbrications de requêtes.
Opérateurs UNION et UNION ALL
Les opérateurs UNION et UNION ALL sont commutatifs. L’opérateur UNION permet d’éviter les
duplicatas (comme DISTINCT dans un SELECT). UNION ALL ne les élimine pas.
Quels sont les avions qui sont exploités par les deux compagnies en commun ?
SELECT
FROM AvionsdeSING
WHERE immatriculation IN
(SELECT immat FROM AvionsdeAF)
AND typeAv IN
(SELECT typeAvion FROM AvionsdeAF);
+-----------------+--------+
| immatriculation | typeAv |
+-----------------+--------+
| F-GTMP
| A340
|
+-----------------+--------+
Tableau 4-28 Exemples d’intersections (suite)
Besoin
Requête
DISTINCT immatriculation ,typeAv
Tableau 4-29 Exemples avec les opérateurs UNION
Besoin
Requête
Quels sont tous les types d’avions que les deux
compagnies exploitent ?
SELECT typeAvion FROM AvionsdeAF
UNION
SELECT typeAv FROM AvionsdeSING;
+-----------+
| typeAvion |
+-----------+
| A320
|
| A340
|
| Concorde |
| A330
|
+-----------+
Web
SQL de base
116
© Éditions Eyrolles
Si vous voulez continuer ce raisonnement en vous basant sur trois compagnies, il suffit d’ajouter une clause WHERE dans les requêtes imbriquées qui interrogera la troisième compagnie. Ce
principe se généralise, et, pour n compagnies, il faudra n imbrications de requêtes.
Opérateurs UNION et UNION ALL
Les opérateurs UNION et UNION ALL sont commutatifs. L’opérateur UNION permet d’éviter les
duplicatas (comme DISTINCT dans un SELECT). UNION ALL ne les élimine pas.
Quels sont les avions qui sont exploités par les deux compagnies en commun ?
SELECT
FROM AvionsdeSING
WHERE immatriculation IN
(SELECT immat FROM AvionsdeAF)
AND typeAv IN
(SELECT typeAvion FROM AvionsdeAF);
+-----------------+--------+
| immatriculation | typeAv |
+-----------------+--------+
| F-GTMP
| A340
|
+-----------------+--------+
Tableau 4-28 Exemples d’intersections (suite)
Besoin
Requête
DISTINCT immatriculation ,typeAv
Tableau 4-29 Exemples avec les opérateurs UNION
Besoin
Requête
Quels sont tous les types d’avions que les deux
compagnies exploitent ?
SELECT typeAvion FROM AvionsdeAF
UNION
SELECT typeAv FROM AvionsdeSING;
+-----------+
| typeAvion |
+-----------+
| A320
|
| A340
|
| Concorde |
| A330
|
+-----------+
Web
