Easy Tutorial
❮ Sql Alias Func Date Add ❯

SQL UNION Operator


The SQL UNION operator combines the results of two or more SELECT statements.


SQL UNION Operator

The UNION operator is used to combine the result sets of two or more SELECT statements.

Please note that each SELECT statement within the UNION must have the same number of columns. The columns must also have similar data types. Additionally, the columns in each SELECT statement must be in the same order.

SQL UNION Syntax

Note: By default, the UNION operator selects distinct values. If duplicate values are allowed, use UNION ALL.

SQL UNION ALL Syntax

Note: The column names in the result set of a UNION are always equal to the column names in the first SELECT statement of the UNION.


Demonstration Database

In this tutorial, we will use the tutorialpro sample database.

Below is data selected from the "Websites" table:

mysql> SELECT * FROM Websites;
+----+--------------+---------------------------+-------+---------+
| id | name         | url                       | alexa | country |
+----+--------------+---------------------------+-------+---------+
| 1  | Google       | https://www.google.cm/    | 1     | USA     |
| 2  | 淘宝          | https://www.taobao.com/   | 13    | CN      |
| 3  | tutorialpro.org      | http://www.tutorialpro.org/    | 4689  | CN      |
| 4  | 微博          | http://weibo.com/         | 20    | CN      |
| 5  | Facebook     | https://www.facebook.com/ | 3     | USA     |
| 7  | stackoverflow | http://stackoverflow.com/ |   0 | IND     |
+----+---------------+---------------------------+-------+---------+

Below is data from the "apps" table:

mysql> SELECT * FROM apps;
+----+------------+-------------------------+---------+
| id | app_name   | url                     | country |
+----+------------+-------------------------+---------+
|  1 | QQ APP     | http://im.qq.com/       | CN      |
|  2 | 微博 APP | http://weibo.com/       | CN      |
|  3 | 淘宝 APP | https://www.taobao.com/ | CN      |
+----+------------+-------------------------+---------+
3 rows in set (0.00 sec)

SQL UNION Example

The following SQL statement selects all distinct countries from the "Websites" and "apps" tables:

Example

SELECT country FROM Websites UNION SELECT country FROM apps ORDER BY country;

Executing the above SQL outputs the following result:

Note: UNION cannot list all countries from both tables. If some websites and apps are from the same country, each country will be listed only once. UNION selects only distinct values. Use UNION ALL to select duplicate values!


SQL UNION ALL Example

The following SQL statement uses UNION ALL to select all countries from the "Websites" and "apps" tables, including duplicate values:

Example

SELECT country FROM Websites UNION ALL SELECT country FROM apps;

ORDER BY country;

Executing the above SQL outputs the following results:


SQL UNION ALL with WHERE

The following SQL statement uses UNION ALL to select all data from the "Websites" and "apps" tables where the country is China (CN), including duplicate values:

Example

Executing the above SQL outputs the following results:

❮ Sql Alias Func Date Add ❯