--集合
┌union|union all 并集
├intersect 交集
└minus 差集
A={1,2,3,4,5}
B={1,3,6,9,4}
union:1,2,3,4,5,6,7
union all:1,2,3,4,5,1,3,6,9,4
intersect:1,3,4
A minus B:2,5
B minus A:6,9
A:员工表名字包含A的员工信息
B:员工表名字包含S的员工信息
select *
from emp
where ename like '%A%' --7
union
select *
from emp
where ename like '%S%' --5
select *
from emp
where ename like '%A%' --7
union all
select *
from emp
where ename like '%S%' --5
select *
from emp
where ename like '%A%' --7
intersect
select *
from emp
where ename like '%S%' --5
select *
from emp
where ename like '%A%' --7
minus
select *
from emp
where ename like '%S%' --5
select *
from emp
where ename like '%S%' --7
minus
select *
from emp
where ename like '%A%' --5
·两个集合的列数、类型、顺序必须一致
·最后结果的列名和第一个sql的列名一致,如果取别名只需要给第一个sql即可
·类型一致,列名不同也可以集合到一起,但是数据可能会错乱
--子查询
查询里面套查询┌外 --主查询
└内 --子查询
┌相关子查询
└非相关子查询
非相关子查询┌单行单列子查询 --一个值
├单列多行子查询 --一个列
└多列子查询┌多列单行子查询 --一张表
└多列多行子查询
相关子查询和非相关子查询的区别
1.相关子查询的主查询先于子查询执行,
非相关子查询的子查询先于主查询执行.<