© Éditions Eyrolles
117
chapitre n° 4
Interrogation des données
Ce principe se généralise à l’union de n ensembles par n requêtes reliées avec n-1 clauses
UNION ou UNION ALL.
Différence
La différence entre deux ensembles homogènes se programme à l’aide d’une requête du type
SELECT DISTINCT ensemble1 FROM Table1 WHERE ensemble1 NOT IN (SELECT ensemble2
FROM Table2). Comme l’opérateur ensembliste, cette requête n’est pas commutative, car elle
programme ensemble1-ensemble2.
Même requête avec les duplicatas. On extrait
les types de la compagnie 'AF', suivis des types
de la compagnie 'SING'.
SELECT typeAvion FROM AvionsdeAF
UNION ALL
SELECT typeAv FROM AvionsdeSING;
+-----------+
| typeAvion |
+-----------+
| A320
|
| A340
|
| Concorde |
| A340
|
| A320
|
| A320
|
| A330
|
+-----------+
Tableau 4-29 Exemples avec les opérateurs UNION (suite)
Besoin
Requête
Web
Tableau 4-30 Exemples de différences
Besoin
Requête
Quels sont les types d’avions exploités par la
compagnie 'AF', mais pas par 'SING' ?
SELECT DISTINCT typeAvion FROM AvionsdeAF
WHERE typeAvion NOT IN
(SELECT typeAv FROM AvionsdeSING);
+-----------+
| typeAvion |
+-----------+
| Concorde |
+-----------+
Quels sont les types d’avions exploités par la
compagnie 'SING,' mais pas par 'AF' ?
SELECT DISTINCT typeAv FROM AvionsdeSING
WHERE typeAv NOT IN
(SELECT typeAvion FROM AvionsdeAF);
+--------+
| typeAv |
+--------+
| A330
|
+--------+
Web
117
chapitre n° 4
Interrogation des données
Ce principe se généralise à l’union de n ensembles par n requêtes reliées avec n-1 clauses
UNION ou UNION ALL.
Différence
La différence entre deux ensembles homogènes se programme à l’aide d’une requête du type
SELECT DISTINCT ensemble1 FROM Table1 WHERE ensemble1 NOT IN (SELECT ensemble2
FROM Table2). Comme l’opérateur ensembliste, cette requête n’est pas commutative, car elle
programme ensemble1-ensemble2.
Même requête avec les duplicatas. On extrait
les types de la compagnie 'AF', suivis des types
de la compagnie 'SING'.
SELECT typeAvion FROM AvionsdeAF
UNION ALL
SELECT typeAv FROM AvionsdeSING;
+-----------+
| typeAvion |
+-----------+
| A320
|
| A340
|
| Concorde |
| A340
|
| A320
|
| A320
|
| A330
|
+-----------+
Tableau 4-29 Exemples avec les opérateurs UNION (suite)
Besoin
Requête
Web
Tableau 4-30 Exemples de différences
Besoin
Requête
Quels sont les types d’avions exploités par la
compagnie 'AF', mais pas par 'SING' ?
SELECT DISTINCT typeAvion FROM AvionsdeAF
WHERE typeAvion NOT IN
(SELECT typeAv FROM AvionsdeSING);
+-----------+
| typeAvion |
+-----------+
| Concorde |
+-----------+
Quels sont les types d’avions exploités par la
compagnie 'SING,' mais pas par 'AF' ?
SELECT DISTINCT typeAv FROM AvionsdeSING
WHERE typeAv NOT IN
(SELECT typeAvion FROM AvionsdeAF);
+--------+
| typeAv |
+--------+
| A330
|
+--------+
Web
