In this tutorial, we will learn how to use UNION
or UNION ALL
opertator and combine the result set of two or more SELECT
statement into a single result set using SQL.
UNION
Clause/Operator is used to combine the result set of two or more SELECT
statements and only returned unique records/rows.UNION
Clause/Operator, there are some basic rules as follow:SELECT
statement/queries within UNION
Clause must have the same number of columns.SELECT
statements/queries.SELECT column1,column2,...columnN FROM tableName1
UNION
SELECT column1,column2,...columnN FROM tableName2;
UNION ALL
Clause/Operator is used to combine the result set of two or more SELECT
statements and returned all the duplicate records/rows also.UNION
clause/operator will apply to the UNION ALL
clause/operator.SELECT column1,column2,...columnN FROM tableName1
UNION ALL
SELECT column1,column2,...columnN FROM tableName2;
UNION
AND UNION ALL
Both used to combine the result-set of two or more SELECT
statements. The Only difference between both UNION
and UNION ALL
is that UNION
returns distinct records while UNION ALL
returns all the records.
Let us consider these two tables "Customer" and "Suppliers" for records.
Table Name: Customer
ID | FirstName | LastName | City | Country | Phone | Pincode |
1 | Sourabh | Chauhan | Delhi | India | 8899885522 | 110044 |
2 | Rakesh | Saini | Faridabad | India | 5878458595 | 121001 |
3 | Kapil | Saini | Noida | India | 5878987885 | 203103 |
4 | Hemant | Chauhan | Delhi | India | 2145622222 | 110044 |
5 | Vivek | Kumar | Delhi | India | 1523654789 | 110096 |
6 | Sammy | Brown | New York | US | 1325647899 | 11001 |
7 | Tom | Hardy | LA | US | 1215466456 | 10001 |
Table Name: Suppliers
ID | FirstName | LastName | City | Country | Phone | Pincode |
1 | Chris | Pratt | New York | US | 1199885522 | 11001 |
2 | Sarah | Jane | Sydney | Australia | 3878458595 | 2000 |
3 | Kapil | Chauhan | Agra | India | 5878987885 | 223007 |
4 | Hemant | Chaurasia | Delhi | India | 2145622222 | 110077 |
5 | Vivek | Ojha | Delhi | India | 1523654789 | 110036 |
6 | Sameer | Kalia | New York | US | 1325647899 | 11001 |
7 | Tom | Hilfiger | LA | US | 1215466456 | 10001 |
Select the records(ID, FirstName, City) from both the tables (Customer and Suppliers) using UNION
clause, a query will be:-
SELECT ID,FirstName,City FROM Customer
UNION
select ID,FirstName,City FROM Suppliers;
ID | Name | City |
1 | Chris | New York |
1 | Sourabh | Delhi |
2 | Rakesh | Faridabad |
2 | Sarah | Sydney |
3 | Kapil | Agra |
3 | Kapil | Noida |
4 | Hemant | Delhi |
5 | Vivek | Delhi |
6 | Sameer | New York |
6 | Sammy | New York |
7 | Tom | LA |
Select the records(ID, FirstName, City) from both the tables (Customer and Suppliers) using UNION ALL
clause, a query will be:
SELECT ID,FirstName,City FROM Customer
UNION ALL
select ID,FirstName,City FROM Suppliers;
ID | Name | City |
1 | Sourabh | Delhi |
2 | Rakesh | Faridabad |
3 | Kapil | Noida |
4 | Hemant | Delhi |
5 | Vivek | Delhi |
6 | Sammy | New York |
7 | Tom | LA |
1 | Chris | New York |
2 | Sarah | Sydney |
3 | Kapil | Agra |
4 | Hemant | Delhi |
5 | Vivek | Delhi |
6 | Sameer | New York |
7 | Tom | LA |