UNION子句
用来合并两个子查询的结果。 UNION子句/运算符用于组合两个或多个SELECT语句的结果,自动去掉重复的行。
要使用UNION,每个SELECT必须具有相同的列数,相同数量的列表达式,对应位置列的数据类型要兼容,并且列顺序一一对应,但列名不一定要相同。
UNION的基本语法如下:
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
UNION
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Code language: CSS (css)
UNION ALL子句
UNION ALL运算符用于组合两个SELECT语句(保留重复行)的结果。 适用于UNION的相同规则也适用于UNION ALL运算符。
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
UNION ALL
SELECT column1 [, column2 ] FROM table1 [, table2 ] [WHERE condition]
Code language: CSS (css)
两个查询结果 必须列一一对应。 示例:
select "ID","Name" from student
union
select "ID","Name" from province
Code language: JavaScript (javascript)
- UNION:合并结果,自动去重,性能相对差一点(数据库需要做比对去重)
- UNION ALL:合并结果,保留全部数据,不去重,速度更快,优先推荐使用(业务不需要去重时)
- 前后两个select,列数量必须一致,对应位置数据类型兼容,列名可以不一样,最终结果集列名以第一个select为准。
- 错误例子:前后列数量不一致就会直接报错。

Previous: 系统函数-日期和时间为例
Next: NULL值