【SQL】Oracle的交集、并集、差集

假设有表tableA、tableB,他们都有字段id和name

 

交集:INTERSECT (适用于两个结果集)

select a.id, a.name from tableA a
INTERSECT
select b.id, b.name from tableB b

 

差集:MINUS(适用于两个结果集)

select a.id, a.name from tableA a
MINUS
select b.id, b.name from tableB b

 

并集:UNION(适用于两个结果集)

-- UNION、UNION ALL能对两个或以上的结果集进行合并
-- 不包括重复行,进行默认排序
select a.id, a.name from tableA a
UNION
select b.id, b.name from tableB b

-- 包括重复行,不进行默认排序
select a.id, a.name from tableA a
UNION ALL
select b.id, b.name from tableB b
posted @ 2018-09-21 16:44  黄大管  阅读(3022)  评论(0编辑  收藏  举报