Oracle 集合操作符
来源:互联网 发布:java paxos算法 编辑:程序博客网 时间:2024/06/05 05:20
-- 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
-- 更多参见:Oracle SQL 精萃
-- 声明:转载请注明出处
-- Last Edited on 2014-12-17
-- Created by ShangBo on 2014-12-17
-- End
0 0
- oracle集合操作符
- Oracle 集合操作符
- Oracle集合操作符
- Oracle中的集合操作符
- Oracle的集合操作
- Oracle的集合操作
- oracle集合的操作
- oracle 集合操作
- Oracle集合操作函数
- Oracle之集合操作
- Oracle 集合操作
- oracle 集合操作
- oracle 集合操作
- Oracle集合操作
- Oracle集合操作
- Oracle集合操作
- ORACLE 集合操作
- Oracle 数据查询集合操作
- 调试时,Lua的print函数输出的内容同时输出到VS的“输出窗口”中
- Go support for Android
- Win7下VLD引起0xc0150002错误
- UVA - 12325 Zombie's Treasure Chest
- NYOJ467中缀式变后缀式
- Oracle 集合操作符
- CentOS下yum安装wine
- Android之拨打接挂电话功能实现
- MacBook 获取Rgb值的自带小软件
- UVA - 1644 Prime Gap
- java中静态初始化块,实例初始化块,构造函数区别
- topcoder AvoidRoads solution
- 用UML建模开发嵌入式软件
- Android应用被强制停止后无法接受广播解决方案