集合运算
- 若将两张表看出集合,匹配问题就是集合运算中的交集
- 若将两张表看出集合,不匹配问题就是集合运算中的差
- 匹配问题+不匹配问题就是集合运算中的并集
集合运算符
- union/union all
- intersect 交集
- minus 差
- 集合运算要求两个select语句是同构的,即列的个数和数据类型必须一致
union
的结果集为两个查询结果的并集,是去掉重复值的union all
的结果集为两个查询结果的并集,是包含重复值的intersect
的结果集为两个查询结果的交集,不包含重复值minus
的结果集为属于第一个查询的结果集,但不属于第二个查询的结果集即从第一个查询的结果集中减去他们的交集,不包含重复值
select a.REAL_NAME ,b.REAL_NAME
from ACCOUNT a join ACCOUNT b
on a.id=b.RECOMMENDER_ID
union all
select REAL_NAME ,'no recommender'
from ACCOUNT where RECO