MySQL UNION - Complete Tutorial

 

What is a union?

Unions combine the results from multiple SELECT queries into a consolidated result set.

The only requirements for this to work is that the number of columns should be the same from all the SELECT queries which needs to be combined .

 

 

Suppose we have two tables as follows

MySQL UNION - Complete Tutorial MySQL UNION - Complete Tutorial

 

Let's now create a UNION query to combines both tables using DISTINCT

SELECT column1, column2 FROM `table1`
UNION DISTINCT
SELECT  column1,column2  FROM `table2`;

 

Here duplicate rows are removed and only unique rows are returned.

Let's now create a UNION query to combines both tables using ALL

SELECT `column1`,` column1` FROM `table1`
UNION ALL
SELECT ` column1`,` column1`  FROM `table2`;

Here duplicate rows are included and since we use ALL.

Suppose there is a flaw in your database design and you are using two different tables meant for the same purpose. You want to consolidate these two tables into one while omitting any duplicate records from creeping into the new table. You can use UNION in such cases.

Summary

Practical examples using MySQL workbench

In our myFlixDB lets combine

membership_number and full_names from Members table

with

movie_id and title from movies table

We can use the following query

SELECT `membership_number`,`full_names` FROM `members`
UNION
SELECT `movie_id`,`title` FROM `movies`;

Executing the above script in MySQL workbench against the myflixdb gives us the following results shown below.

YOU MIGHT LIKE: