Hi,大家好,我是编程小6,很荣幸遇见你,我把这些年在开发过程中遇到的问题或想法写出来,今天说一说Oracle中union、union all、minus的差别,希望能够帮助你!!!。
比如说现在有一个集合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 表里面的数据如下:
现在我们来执行以下三条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 )
得到的结果如下:
结果跟我描述的一致。
ps:使用这些关键字的时候,比如 sqlA union sqlB,要注意sqlA要和sqlB所查的数据的个数以及数据类型要一致,不然会报错。
今天的分享到此就结束了,感谢您的阅读,如果确实帮到您,您可以动动手指转发给其他人。
上一篇
已是最后文章
下一篇
已是最新文章