Minus intersect Union UnionAll 使用方法

假设有两个表A,B,都只有一个字段PHONE

1, MINUS
SELECT PHONE FROM A MINUS SELECT PHONE FROM B;     相当于用结果集A减去结果B得出的结果集。同样的效果也可以用SELECT PHONE FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE A.PHOEN=B.PHONE)来达到。
2, INTERSECT
SELECT PHONE FROM A INTERSECT SELECT PHONE FROM B;  相当于求结果集A与结果集B的交集。
3, UNION
SELECT PHONE FROM A UNION SELECT PHONE FROM B;  相当于求结果集A与结果集B的合集,去重。
4, UNION ALL
SELECT PHONE FROM A UNION ALL SELECT PHONE FROM B;  相当于求结果集A与结果集B的合集,不去重。
在 PL/SQL 中,UNIONUNION ALL、MINUS 和 INTERSECT 是用于合并和比较结果集的操作符。它们之间的区别如下: 1. UNIONUNION 操作符用于合并两个或多个 SELECT 语句的结果集,并去除重复的行。它返回一个包含所有唯一行的结果集。 2. UNION ALL:UNION ALL 操作符也用于合并两个或多个 SELECT 语句的结果集,但不去除重复的行。它返回一个包含所有行的结果集,包括重复的行。 3. MINUS:MINUS 操作符用于从第一个 SELECT 语句的结果集中减去第二个 SELECT 语句的结果集,返回在第一个结果集中存在但不在第二个结果集中的行。它会去除重复的行。 4. INTERSECTINTERSECT 操作符用于返回同时存在于两个 SELECT 语句结果集中的行,即交集。它会去除重复的行。 需要注意的是,这些操作符在比较结果集时要求两个 SELECT 语句具有相同的列数和相同或兼容的数据类型。 下面是一个示例: ``` SELECT column1 FROM table1 UNION SELECT column1 FROM table2; ``` 这将返回两个表中 column1 列的唯一值。 ``` SELECT column1 FROM table1 UNION ALL SELECT column1 FROM table2; ``` 这将返回两个表中 column1 列的所有值,包括重复的值。 ``` SELECT column1 FROM table1 MINUS SELECT column1 FROM table2; ``` 这将返回只在 table1 中存在但不在 table2 中存在的行。 ``` SELECT column1 FROM table1 INTERSECT SELECT column1 FROM table2; ``` 这将返回同时在 table1 和 table2 中存在的行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值