原创转载请注明出处:http://agilestyle.iteye.com/blog/2340901
SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
Note:UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
Note:默认地,UNION 操作符选取不同的值,即不重复。
SQL UNION ALL 语法
SELECT column_name(s) FROM table1
UNION ALL
SELECT column_name(s) FROM table2;
Note: UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名,UNION ALL允许重复。
Example
desc websites;
desc apps;
select * from websites;
select * from apps;
SQL UNION 实例
SELECT country FROM websites
UNION
SELECT country FROM apps
ORDER BY country;
Note: UNION 不能用于列出两个表中所有的country。如果一些网站和APP来自同一个国家,每个国家只会列出一次。UNION 只会选取不同的值。
SQL UNION ALL 实例
SELECT country FROM websites
UNION ALL
SELECT country FROM apps
ORDER BY country;
Note: 使用 UNION ALL 来选取重复的值
带有 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;