1. UNION、UNION ALL
UNION 关键字的作用?
合并两个或多个 SELECT 语句的结果。发挥的作用与 or 非常相似
UNION关键字生效的前提?
- 每个 SELECT 语句必须拥有相同数量的列。
- 每个 SELECT 语句中的列的顺序必须相同。
- 列必须拥有相似的数据类型。
SELECT column_name(s) FROM table1
UNION (ALL)
SELECT column_name(s) FROM table2;
UNION、UNION ALL的区别?
union 会对合并之后的查询结果集进行去重操作。
union all 是直接将查询结果集合并,不进行去重操作。
因此,union all 和 union 都可以完成的话,优先选择 union all,因为其不需要去重,所以效率高一些。
UNION 后的结果集格式?
UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
1.1 实例
数据库中有两张表,结构如图
需求:查询两个表中的 conutry,并去重
分析:将两表查出的 conutry 进行 union。
SELECT country FROM Websites
UNION
SELECT country FROM apps
ORDER BY country;
从两表中选取所有的 conutry 为中国(CN)的数据(不去重):
SELECT country, name FROM Websites
WHERE country='CN'
UNION ALL
SELECT country, app_name FROM apps
WHERE country='CN'
ORDER BY country;