UNION DISTINCT is the same as UNION; it is slower than UNION ALL because of a de-duplicating pass. A good practice is to always spell out DISTINCT or ALL, thereby signaling that you thought about which to do.
The UNION operator is used to combine the result-set (only distinct values) of two or more SELECT statements.
Query: (To selects all the different cities (only distinct values) from the "Customers" and the "Suppliers" tables)
SELECT City FROM Customers
UNION
SELECT City FROM Suppliers
ORDER BY City;
Result:
Number of Records: 10
City
------
Aachen
Albuquerque
Anchorage
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Bern
UNION ALL to select all (duplicate values also) cities from the "Customers" and "Suppliers" tables.
Query:
SELECT City FROM Customers
UNION ALL
SELECT City FROM Suppliers
ORDER BY City;
Result:
Number of Records: 12
City
-------
Aachen
Albuquerque
Anchorage
Ann Arbor
Annecy
Barcelona
Barquisimeto
Bend
Bergamo
Berlin
Berlin
Bern
UNION ALL to select all(duplicate values also) German cities from the "Customers" and "Suppliers" tables.
Here Country="Germany" is to be specified in the where clause.
Query:
SELECT City, Country FROM Customers
WHERE Country='Germany'
UNION ALL
SELECT City, Country FROM Suppliers
WHERE Country='Germany'
ORDER BY City;
Result:
Number of Records: 14
| City | Country |
|---|---|
| Aachen | Germany |
| Berlin | Germany |
| Berlin | Germany |
| Brandenburg | Germany |
| Cunewalde | Germany |
| Cuxhaven | Germany |
| Frankfurt | Germany |
| Frankfurt a.M. | Germany |
| Köln | Germany |
| Leipzig | Germany |
| Mannheim | Germany |
| München | Germany |
| Münster | Germany |
| Stuttgart | Germany |