博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Oracle 集合操作符
阅读量:4050 次
发布时间:2019-05-25

本文共 1243 字,大约阅读时间需要 4 分钟。

-- Start

Oracle 支持如下几个集合操作符。

UNION        用来求两个集合的并集,并去掉重复值UNION ALL    用来求两个集合的并集INTERSECT    用来求两个集合的交集,并去掉重复值MINUS        用来求在第一个集合中存在,而在第二个集合中不存在的记录,并去掉重复值

下面我们先来准备测试数据。

CREATE TABLE TEST_LEFT(    COL CHAR);INSERT INTO TEST_LEFT VALUES ('A');INSERT INTO TEST_LEFT VALUES ('A');INSERT INTO TEST_LEFT VALUES ('B');INSERT INTO TEST_LEFT VALUES ('B');INSERT INTO TEST_LEFT VALUES ('C');CREATE TABLE TEST_RIGHT(    COL CHAR);INSERT INTO TEST_RIGHT VALUES ('A');INSERT INTO TEST_RIGHT VALUES ('B');INSERT INTO TEST_RIGHT VALUES ('B');INSERT INTO TEST_RIGHT VALUES ('D');INSERT INTO TEST_RIGHT VALUES ('E');
下面我们通过一个例子来对比一下它们直接的不同。

---UNIONSELECT * FROM TEST_LEFTUNIONSELECT * FROM TEST_RIGHT;---结果ABCDE---UNION ALLSELECT * FROM TEST_LEFTUNION ALLSELECT * FROM TEST_RIGHT;---结果AABBCABBDE---INTERSECTSELECT * FROM TEST_LEFTINTERSECTSELECT * FROM TEST_RIGHT;---结果AB---MINUSSELECT * FROM TEST_LEFTMINUSSELECT * FROM TEST_RIGHT;---结果C
大家对比一下它们之间的结果就可以看出它们之间的区别,不过有个问题需要注意:

UNION 和 INTERSECT 两别集合可以互换的,但是 MINUS 互换将有不同的结果,如下:

---语句1SELECT * FROM TEST_LEFTMINUSSELECT * FROM TEST_RIGHT;---结果C---语句2SELECT * FROM TEST_RIGHTMINUSSELECT * FROM TEST_LEFT;---结果DE

-- 更多参见:

-- 声明:转载请注明出处

-- Last Edited on 2014-12-17

-- Created by ShangBo on 2014-12-17

-- End

你可能感兴趣的文章
今日互联网关注(写在清明节后):每天都有值得关注的大变化
查看>>
”舍得“大法:把自己的优点当缺点倒出去
查看>>
[今日关注]鼓吹“互联网泡沫,到底为了什么”
查看>>
[互联网学习]如何提高网站的GooglePR值
查看>>
[关注大学生]求职不可不知——怎样的大学生不受欢迎
查看>>
[关注大学生]读“贫困大学生的自白”
查看>>
[互联网关注]李开复教大学生回答如何学好编程
查看>>
[关注大学生]李开复给中国计算机系大学生的7点建议
查看>>
[茶余饭后]10大毕业生必听得歌曲
查看>>
gdb调试命令的三种调试方式和简单命令介绍
查看>>
C++程序员的几种境界
查看>>
VC++ MFC SQL ADO数据库访问技术使用的基本步骤及方法
查看>>
VUE-Vue.js之$refs,父组件访问、修改子组件中 的数据
查看>>
Vue-子组件改变父级组件的信息
查看>>
Python自动化之pytest常用插件
查看>>
Python自动化之pytest框架使用详解
查看>>
【正则表达式】以个人的理解帮助大家认识正则表达式
查看>>
性能调优之iostat命令详解
查看>>
性能调优之iftop命令详解
查看>>
非关系型数据库(nosql)介绍
查看>>