MySQL UNION操作符用于连接两个以上的SELECT语句的结果组合到一个结果集中。多个SELECT语句会删除重复的数据。
语法
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions]
UNION [ALL | DISTINCT]
SELECT expression1, expression2, ... expression_n
FROM tables
[WHERE conditions];
参数
·expression1,expression2,...expression_n要检索的列。
·tables:要检索的数据表。
·WHERE conditions:可选,检索条件。
·DISTINCT:可选,删除结果集中重复的数据。默认情况下UNION操作符已经删除了重复数据,所以DISTINCT修饰符对结果没有影响。
·ALL:可选,返回所有结果集,包含重复数据。
演示数据库
SQL UNION实例
SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
SQL UNION ALL 实例
SELECT country FROM Websites
UNION ALL
SELECT country FROM apps
ORDER BY country;
带有WHERE的SQL UNION ALL
SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;
参考:
https://www.yuque.com/docs/share/ccdae50d-20e3-47b8-9a40-3144a0f376af