Skip to content

联合查询

对于 union 查询 就是把多次查询的结果合并起来,形成一个新的查询结果集

sql

SELECT 字段列表 from 表A... UNION [ALL] SELECT 字段列表 from 表B...;

案例

将薪资低于 5000 的员工 和年龄大于 50 岁的员工全部查询出来

当前对于这个需求,我们可以直接使用多条件查询

使用逻辑运算符 or 连接即可 ,在这里我们也可以通过 union/union all 来实现

sql

SELECT * from emp where sal < 5000 union all select * from emp where age > 50;

union all 查询出来的结果 仅仅 进行简单的合并,并末去重

sql
SELECT * from emp where sal < 5000 union select * from emp where age > 50;

union 联合查询,会对查询出来的结果进行去重处理

注意

如果多条查询语句查询出来的结果 字段数量不一致,在进行union/union all联合查询,将会报错