多语言展示
当前在线:176今日阅读:176今日分享:34

oracle集合运算交集并集补集

oracle集合运算交集并集补集
工具/原料
1

centos7

2

oracle11g、 secureCRT

方法/步骤
1

集合运算1.概念集合运算就是将两个或者多个结果集组合成为一个结果集。2.种类并集 union all 返回各个查询的所有记录,包括重复记录并集 union  返回各个查询的所有记录,不包括重复记录交集 intersect 返回两个查询共有的记录补集 minus  返回第一个查询的记录减去第二个查询记录之后剩余的记录

2

3.并集 union  返回各个查询的所有记录,不包括重复记录。在下图中可以看到emp02表中有5条数据,emp04表中有8条数据,如果想查询出两张表并集的数据,并去除重复数据的话可以使用 union。可以看到重复的5条数据只会显示一次

3

4.并集 union all 返回各个查询的所有记录,包括重复记录还是直接引用上图中emp02  和emp04两张表,表中共有5条重复的数据,如果想把重复的数据也显示出来,则要使用并集 union all   可以看到 重复的5条数据显示了两次

4

5. intersect 交集   返回两个查询共有的记录还是直接引用上图中emp02  和emp04两张表,表中共有5条重复的数据。可以看到在使用intersect交集后 只返回了两张表中共有的数据

5

6.补集 minus  返回第一个查询的记录减去第二个查询记录之后剩余的记录在上图中可以看到emp02表中有5条数据,emp04表中有8条数据,如果想查询两张表的补集,需要使用minus .    在下图中可以发现  emp02表中的数据是比 emp04表的数据要少 ,所以要计算补集的返回的结果为0行。  如果是先查询emp04表中的数据再查询emp02表中的数据可以发现有三行数据。

6

7.在进行集合运算的时候,要求两张表中的数据类型要一致。不然无法进行运算。在下图中可以看到,在两张表的数据类型不一致的情况是无法进行集合运算的。

7

如果两张表想要进行集合运算,那么只能对表数据类型进行转换。可以看到进行转换后的两张表是可以进行集合运算的。

注意事项

此经验由勇敢的choy原创,觉得此经验对你有帮助,请点击下面【投票】予以支持,也可以点击上面的【五角星】来收藏!

推荐信息