UNION 和 UNION ALL 作用

联合查询 union ,union all

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

select 字段列表 from 表A ,,,

select 字段列表 from 表B .....

复制代码
查询语句1
UNION
查询语句2;

查询语句1
UNION ALL
查询语句2;

1. 最简单示例(合并两个部门查询)

sql

复制代码
select dept.id, dept.name from dept where dept.id = 1
union
select dept.id, dept.name from dept where dept.id = 2;

sql

复制代码
select dept.id, dept.name from dept where dept.id = 1
union all
select dept.id, dept.name from dept where dept.id = 2;

2. 合并不同表的结构相同数据

比如把员工姓名 和 部门姓名 放一列展示

sql

复制代码
select emp.name from emp
union
select dept.name from dept;

sql

复制代码
select emp.name from emp
union all
select dept.name from dept;

3. 多表查询 + UNION 组合

sql

复制代码
select emp.name, dept.name
from emp
inner join dept
on emp.dept_id = dept.id
where dept.name = '研发部'

union

select emp.name, dept.name
from emp
inner join dept
on emp.dept_id = dept.id
where dept.name = '市场部';
复制代码
-- 查询薪资<5000 并且年龄大于50 的员工。
select * from emp33 where salary <5000 and age>50;


-- 查询薪资低于5000 的员工,和年龄大于50 岁的员工的全部查询出来
select * from emp33 where salary <5000
union all
select * from emp33 where age>50;

union all有重复 会将全部的数据直接合并在一起,

union 会对合并之后的数据去重。

相关推荐
东风破13721 小时前
达梦数据库实战:备份恢复与数据迁移全攻略(实例初始化、服务注册、路径迁移)
数据库·chrome
SelectDB技术团队1 天前
2026 SelectDB AI 产品发布会:Agent Native 数据基础设施能力全景发布
数据库·人工智能·agent·apache doris·selectdb
爱吃羊的老虎1 天前
【数据库】模块一:数据库基础与关系代数
数据库
dishugj1 天前
iSCSI + Multipath + ASM:Oracle RAC 共享存储技术链详解
数据库·oracle
yoothey1 天前
MySQL事务机制解析 - 面试高分知识点
数据库·mysql·面试
Lkstar1 天前
万字长文Query改写与多路召回实战|从HyDE到RRF融合,召回率提升22%的完整方案
数据库·人工智能·llm
IT新视界1 天前
星环科技ArgoDB:基于一体化架构构建数据全生命周期安全底座
数据库·科技·安全·架构
峥无1 天前
MySQL DML 操作(CRUD)总结
数据库·mysql
数据库小学妹1 天前
SQL Server数据库同步工具怎么选?6款方案对比+信创迁移避坑清单
数据库·经验分享·sqlserver·dba
不剪发的Tony老师1 天前
国产数据库之GaussDB:固若金汤
数据库·gaussdb