李成笔记网

专注域名、站长SEO知识分享与实战技巧

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所查的数据的个数以及数据类型要一致,不然会报错。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言