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.