Oracle数据库中并集,交集,差集的作用

student:

class:

1.并集:将查询出的两个结果合并成一个结果集。

-- union 去重,合并后的结果都是唯一
-- union all 不去重,合并后的结果有可能出现重复的
select
classid from student union select classid from class; select classid from student union all select classid from class; -- Oracle 和 MySQL都支持这种方法查询

结果集:    union                                      union all

                                

2.交集:返回两个查询结果集中相同部分的结果;

--  intersect 交集,取相同的记录
select
classid form student intersect select classid from classid; -- Oracle数据库中的查询方法 select s.* from (select classid from student) s join (select classid from class) c on s.classid=c.classid; -- MySQL数据库中的查询方法

结果集:

3.差集:返回第一个查询结果中与第二个查询结果不相同的那部分记录。 查询结果1 - 查询结果2

--  minus 差集,主表  减去  从表中与主表相同的记录 
select
classid form student minus select classid from classid -- Oracle 数据库中的查询方法 select classid from student where classid not in(select classid from class); -- Oracle 和 MySQL 这种查询方法

结果集:

注:Oracle数据库中的关键字,union 并集,去重 ;  union all 并集,不去重 ; intersect 交集,取相同的记录;minus 差集,主表  减去  从表中与主表相同的记录 

       MySQL数据库中只有union和union all关键字,其他方法需要联系实际需求用SQL语法取获取记录。

 

 

 

     

 

转载于:https://www.cnblogs.com/jiangluo/p/11016834.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值