union用于合并两个或多个select语句的结果集。
需要注意的是,union合并的两个或多个表必须有相同的列数,且相应的列必须取自同一个域(即数据类型相似,如都是数值型),此外,每条select语句中列的顺序必须相同。
语法1
2
3select 列名 from table1
union
select 列名 from table2
注意:union会去除重复行,如果需要保留重复的行,可使用union all。
示例
假设有以下两张雇员表
1 | create table employee_cn( |
查询中国和美国的所有雇员的姓名
1 | select name from employee_cn |
结果:
1 | +-------------+ |
可以看到,union无法查询出所有的中国和美国雇员,一旦出现同名的雇员,则只有一个被列出。
下面使用union all。
1 | select name from employee_cn |
结果:
1 | +-------------+ |