Oracle中union、union all、minus的差别

(40) 2023-10-06 14:12

Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Oracle中union、union all、minus的差别,希望能够帮助你!!!。

Oracle中union、union all、minus的差别_https://bianchenghao6.com/blog__第1张

比如说现在有一个集合A{1,2,3,4,5}和集合B{5,6.7,8,9}

union是求两个(或者多个)集合的并集(不允许重复元素),得到的集合是{1,2,3,4,5,6,7,8,9};

union all也是求两个(或者多个)集合的并集(允许重复元素),得到的集合是{1,2,3,4,5,5,6,7,8,9};

而minus是求两个集合的差集,并且是前面一个集合去掉重复元素的部分,得到的集合是{1,2,3,4};

我们在数据库里面来看一下:

现在有两个表B,C 表里面的数据如下:

Oracle中union、union all、minus的差别_https://bianchenghao6.com/blog__第2张

现在我们来执行以下三条sql:

select * from ( select id from B unionselect id from C)

select * from ( select id from B union all select id from C)

select * from ( select id from B minusselect id from C )

得到的结果如下:

Oracle中union、union all、minus的差别_https://bianchenghao6.com/blog__第3张

结果跟我描述的一致。

ps:使用这些关键字的时候,比如 sqlA union sqlB,要注意sqlA要和sqlB所查的数据的个数以及数据类型要一致,不然会报错。

今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。

上一篇

已是最后文章

下一篇

已是最新文章

发表回复