Archives par étiquette : union

MySQL : l’opérateur ensembliste UNION (2/2)

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 !

snapshot2

 

Utiliser un UNION ALL vous permettra de faire apparaître l’intégralité des extensions des schémas unis.