SQL中Union/Intersect/Minus用法

Union/Intersect/Minus

Union

并集 :union: select × from A union (all) select × from B

UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

SQL UNION 语法
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2

默认地,UNION 操作符选取两条SQL中查询出的所有结果的集合,重复的值只会出现一次。如果允许重复的值,请使用 UNION ALL。

Intersect

交集: intersect: select × from a intersect select × from b ——a n b

INTERSECT 的语法如下:

[SQL语句 1]
INTERSECT
[SQL语句 2]

INTERSECT操作符筛选出两条SQL中相同的值。

Minus

差集: minus: select × from a minus select × from b

用集合表示如下 A={1,2,3,4,5} B={1,2,5}
select a MINUS b =>c{3,4}

select aa.id from aa MINUS select bb.id from bb;
可以理解为相当于
select aa.id from aa where aa.id not in (select bb.id from bb);

值得注意的是,Oracle会对minus后的结果集进行去重,即如果A中原本多条相同的记录数在进行A minus B后将会只剩一条对应的记录.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值