Opérateurs UNION et UNION ALL SQL

Opérateur UNION SQL

L'opérateur UNION est utilisé pour fusionner les résultats de deux ou plusieurs requêtes SELECT.

Veuillez noter que la requête SELECT interne à UNION doit disposer du même nombre de colonnes. Les colonnes doivent également avoir des types de données similaires. De plus, l'ordre des colonnes dans chaque requête SELECT doit être le même.

Syntaxe SQL UNION

SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

Remarque :Par défaut, l'opérateur UNION sélectionne des valeurs différentes. Si vous permettez des valeurs répétées, utilisez UNION ALL.

Syntaxe SQL UNION ALL

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2

De plus, les noms des colonnes dans le résultat de UNION sont toujours égaux aux noms des colonnes dans la première déclaration SELECT de UNION.

Les exemples suivants utilisent les tables originales :

Employees_China :

E_ID E_Name
01 Zhang, Hua
02 Wang, Wei
03 Carter, Thomas
04 Yang, Ming

Employees_USA :

E_ID E_Name
01 Adams, John
02 Bush, George
03 Carter, Thomas
04 Gates, Bill

Utilisation de la commande UNION

Exemple

Lister tous les noms d'employés différents en Chine et aux États-Unis :

SELECT E_Name FROM Employees_China
UNION
SELECT E_Name FROM Employees_USA

Résultat

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Gates, Bill

Remarque :Cette commande ne peut pas lister tous les employés en Chine et aux États-Unis. Dans cet exemple, nous avons deux employés avec le même nom, mais seulement un d'entre eux a été listé. La commande UNION ne sélectionne que les valeurs différentes.

UNION ALL

Les commandes UNION ALL et UNION sont presque équivalentes, mais la commande UNION ALL liste tous les valeurs.

SQL Déclaration 1
UNION ALL
SQL Déclaration 2

Utilisation de la commande UNION ALL

Exemple :

Lister tous les employés en Chine et aux États-Unis :

SELECT E_Name FROM Employees_China
UNION ALL
SELECT E_Name FROM Employees_USA

Résultat

E_Name
Zhang, Hua
Wang, Wei
Carter, Thomas
Yang, Ming
Adams, John
Bush, George
Carter, Thomas
Gates, Bill