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 会对合并之后的数据去重。

相关推荐
heimeiyingwang2 小时前
【架构实战】SQL调优实战:从执行计划到索引优化
数据库·sql·架构
恼书:-(空寄2 小时前
分库分表风险应对手册(生产实战版)
数据库·分库分表
XDHCOM2 小时前
ORA-06521: PL/SQL映射函数错误,权威解析Oracle报错故障修复与远程处理方案
数据库·sql·oracle
数厘2 小时前
2.11 约束的使用(主键、外键、非空、唯一、默认值约束)
sql·mysql·数据分析
wgzrmlrm743 小时前
mysql如何配置全文索引停用词_mysql ft_stopword_file设置
jvm·数据库·python
城数派3 小时前
2025年南京市全类别POI(55W+数据)
数据库·arcgis·信息可视化·数据分析·excel
大大大大晴天️3 小时前
Flink技术实践-Flink SQL 开发中的隐蔽陷阱
大数据·sql·flink
疯狂成瘾者3 小时前
后端系统、服务稳定性里核心的指标有哪些
数据库
SPC的存折4 小时前
openEuler 24.03 MariaDB Galera 集群部署指南(cz)
linux·运维·服务器·数据库·mysql