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.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.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:-
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:
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 |