SQL UNION
The UNION command combines the results of two or more SELECT queries. When two queries with the same number of columns are joined together with the UNION command, the combined results from both queries are returned. UNION is placed between the two queries being combined.
The combined queries can be any valid SELECT statements, including WHERE, GROUP BY, or HAVING clauses. The only restriction is that the number of columns returned for each query is the same, and the corresponding columns of each query have data types that are compatible with the columns in the first query. The result set will use the column names of the first query, ignoring column names from each subsequent query.
UNION will eliminate any duplicate rows from the result.
Syntax
SELECT column1, column2, column2 ... columnN
FROM table1
UNION
SELECT column1, column2, column2 ... columnN
FROM table2;
In the snippet above, all rows from table1 and table2 are returned, excluding duplicates.
UNION ALL
The UNION command also has a UNION ALL option. The difference between UNION and UNION ALL is that where UNION will drop any duplicated rows in the result, UNION ALL will append the complete results of one query to another regardless of duplication.
SELECT column1, column2, column2 ... columnN
FROM table1
UNION ALL
SELECT column1, column2, column2 ... columnN
FROM table2;
All the rows from table2 are appended with all of the rows from table1.
Example
This example combines the rows from two student tables, students_term_one and students_term_two, removing any duplicates:
SELECT first_name, last_name, final_gradeFROM students_term_oneUNIONSELECT first_name, last_name, final_gradeFROM students_term_two;
Contribute to Docs
- Learn more about how to get involved.
- Edit this page on GitHub to fix an error or make an improvement.
- Submit feedback to let us know how we can improve Docs.
Learn SQL on Codecademy
- Learn to analyze data with SQL and prepare for technical interviews.
- Includes 9 Courses
- With Certificate
- Beginner Friendly.17 hours
- In this SQL course, you'll learn how to manage large datasets and analyze real data using the standard data management language.
- Beginner Friendly.5 hours