语法:
select_statement UNION [ALL | DISTINCT] select_statement UNION [ALL | DISTINCT] select_statement …
用来合并多个select的查询结果,需要保证select中字段须一致,每个select语句返回的列的数量和名字必须一样,否则,一个语法错误会被抛出。
从语法中可以看出UNION有两个可选的关键字:
- 使用DISTINCT关键字与使用UNION 默认值效果一样,都会删除重复行
- 使用ALL关键字,不会删除重复行,结果集包括所有SELECT语句的匹配行(包括重复行)
使用限制
- 要求每个select语句的字段需一致,包括字段名称、字段类型、字段数量。
- 相应字段类型可以不一致,会发生隐式转换,如下图所示: