运算符-UNION、INTERSECT、MINUS
在SQL语句中,我们会经常用到运算符-UNION、INTERSECT、MINUS来解决一下SQL查询问题
UNION和NUION ALL 多个表数据合并
(1)UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
(2)注意:UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
(3)注意:列的字段个数相同,对应的字段数据类型也要相似
UNION 合并且去重复
a=1,2,3 b=1,2,4 =>a +UNION+ b=1,2,3,4
a1 a2
select a1ID "学号",a1name "姓名" from a1
UNION
select * from a2
如,
UNION ALL 直接合并不去重复
(1)UNION ALL操作符返回两个查询的结果集的并集。对于两个结果集的重复部分,不去重。
a=1,2,3 b=1,2,4 => a +UNION+ b=1,2,3,1,2,3,4
select a1ID "学号",a1name "姓名" from a1
UNION ALL
select * from a2
INTERSECT交集(取两个集合相同值,且去重复)
a=1,2,3 b=1,2,2,4 => a +INTERSECT+ b=1,2
select * from a1
INTERSECT
select * from a2;
如,
MINUS 差集:返回两个结果集的差集
以a为主,将与b表的数据相同的部分减去
a=1,2,3 b=1,2,4 => a + MINUS + b=3
select * from a1
MINUS
select * from a2;
如,