Revenons sur l’opérateur ensembliste UNION et voyons comment il traite les duplicatas :
create table employe ( id tinyint unsigned NOT NULL PRIMARY KEY, nom varchar(20) NOT NULL, prenom varchar(30) NOT NULL ); create table manager( id smallint unsigned NOT NULL PRIMARY KEY, nom varchar(30), prenom varchar(20) ); INSERT INTO employe VALUES (1, 'Klein', 'Roger'), (2, 'Bagnole', 'Marcel'), (3, 'De Narvale', 'Nadine'); INSERT INTO manager VALUES (3, 'Avignon', 'Eric'), (2, 'Avril', 'Mathilda'), (1, 'Klein', 'Roger');
Faisons l’union de ces deux relations :
select * from employe union select * from manager;
Roger Klein n’apparaît qu’une seule fois : UNION supprime bien les doublons !
Pour avoir l’intégralité de l’union des deux extensions de ces relations, il suffit de faire :
select * from employe union ALL select * from manager;
Et voilà que nous avons tout à présent !
Utiliser un UNION ALL vous permettra de faire apparaître l’intégralité des extensions des schémas unis.