Opérateurs UNION et UNION ALL SQL
- Page précédente SQL Full Join
- Page suivante SQL Select Into
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 |
- Page précédente SQL Full Join
- Page suivante SQL Select Into