MySQL并集,全集,交集,差集

Sakura 发布于 2024-03-06 380 次阅读


# 并集 两个集合中的数据都会显示 但是不包含重复的数据
select * from emp where deptno = 30
union
select * from emp where sal > 1000 order by ename;

# 全集 两个集合中的所有数据 包含重复的数据
select * from emp where deptno = 30
union all
select * from emp where sal > 1000 order by ename;

# 交集 两个集合中交叉的数据 或者说 两个集合中相同的数据
select * from emp where deptno = 30 and empno in(select empno from emp where sal > 1000)

# 差集 包含在A集合但是不包含B集合
select * from emp where deptno = 30 and empno not in(select empno from emp where sal > 1000)