Oracle Minus关键字

SQL中的MINUS关键字

SQL中有一个MINUS关键字,它运用在两个SQL语句上,它先找出第一条SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果中。如果有的话,那这一笔记录就被去除,而不会在最后的结果中出现。如果第二个SQL语句所产生的结果并没有存在于第一个SQL语句所产生的结果内,那这笔资料就被抛弃,其语法如下:

[SQL Segment 1]

MINUS

[SQL Segment 2]

--------------------------------------------

//创建表1

create table test1

(

name varchar(10),

sex varchar(10),

);

insert

into test1 values('test','female');

insert into test1 values('test1','female');

insert into test1 values('test1','female');

insert into test1 values('test11','female');

insert into test1 values('test111','female');

//创建表2

create table test2

(

name varchar(10),

sex varchar(10),

);

insert into test1 values('test','female');

insert into test1 values('test2','female');

insert into test1 values('test2','female');

insert into test1 values('test22','female');

insert into test1 values('test222','female');

-------------------------------------------

select

* from test1 minus select * from test2;

结果:

NAME SEX ---------- ---------- test1 female test11 female test111 female -----------------------------------------------------------

select

* from test2 minus select * from test1;

结果:

NAME SEX ---------- ---------- test2 female test22 female test222 female

结论:Minus返回的总是左边表中的数据,它返回的是差集。注意:minus有剃重作用

==========================================================

下面是我做的实验,很明显能够看出MINUS的效率,made_order共23万笔记录,charge_detail共17万笔记录

性能比较:

SELECT order_id FROM made_order

MINUS

SELECT order_id FROM charge_detail

1.14 sec

SELECT a.order_id FROM made_order a

WHERE NOT exists (

SELECT order_id

FROM charge_detail

WHERE order_id = a.order_id

)

18.19 sec

SELECT order_id FROM made_order

WHERE order_id NOT in (

SELECT order_id

FROM charge_detail

)

20.05 sec

还有其它一下关键字:

INTERSECT (交集)

UNION ALL 并集

如何搜索出第N~M条记录?做分页用答:select * from 表 where Rownum <= MMinusselect * from 表 where Rownum <= N;

oracle minus 利用率,Oracle Minus 取差集(也可以用来做分页,但效率不高)相关推荐

  1. Oracle Minus关键字 不包含 取差集

    Oracle Minus关键字 SQL中的MINUS关键字 SQL中有一个MINUS关键字,它运用在两个SQL语句上,它先找出第一条SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果 ...

  2. minus oracle 顺序_Oracle Minus 取差集

    Oracle Minus关键字 SQL中的MINUS关键字 SQL中有一个MINUS关键字,它运用在两个SQL语句上,它先找出第一条SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果 ...

  3. oracle数据库 交集,Oracle两个逗号分割的字符串,获取交集、差集(sql实现过程解析)...

    Oracle数据库的两个字段值为逗号分割的字符串,例如:字段A值为"1,2,3,5",字段B为"2". 想获取两个字段的交集(相同值)2,获取两个字段的差集(差 ...

  4. oracle 指定关联,Oracle巧取指定记录以及巧用外关联查询

    51Testing软件测试网n*ue;R,F%SF5j]"f%Q Oracle巧取指定记录以及巧用外关联查询)L,mOf&ym2g0 9xJ}]-y0作者:010032  51Tes ...

  5. Oracle的并集、交集、差集运算

    Oracle中有并集.交集.差集的3种运算    1.  union :    得到两个查询结果的并集,并且自动去掉重复行,不会排序.      union all: 得到两个查询结果的并集,不会去掉 ...

  6. oracle 12c omf,从参数取值瞅Oracle OMF特性

    当前位置:我的异常网» 数据库 » 从参数取值瞅Oracle OMF特性 从参数取值瞅Oracle OMF特性 www.myexceptions.net  网友分享于:2014-05-17  浏览:1 ...

  7. Oracle 查询出来的数据取第一条

    Oracle 查询出来的数据取第一条 --------------------------------------------------------------------------- 转载自:h ...

  8. Oracle学习XII —— Oracle集合运算

    Oracle集合运算 Oracle集合运算就是把多个查询结果组合成一个查询结果,oralce的集合运算包括:INTERSECT(交集).UINION ALL(交集重复).UINION(交集不重复).M ...

  9. oracle的集函数,Oracle统计分析函数集之一(转载)

    分析函数over 及开窗函数 一:分析函数over Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组只返 ...

  10. oracle stdevp函数,ORACLE和SQL语法区别归纳整理.doc

    ORACLE和SQL语法区别归纳整理 一.数据类型比较⑴.字符数据类型?? CHAR?? CHAR?? 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb变长 ...

最新文章

  1. 查找数组里相同元素的个数
  2. engineering equation solver_欧洲留学|爱尔兰圣三一大学不可错过的高薪专业工程学Msc.Engineering|爱尔兰最佳工程课程!...
  3. linux裁剪内核和移植,嵌入式Linux内核裁剪及移植的研究与实现
  4. Linux文件和目录的属性及权限
  5. Ubuntu下pdf乱码和rar解压后无效文件编码解决方案
  6. 51nod 1770 数数字
  7. Mybatis系列(四)注解
  8. ug草图精度怎么设置_UG怎么设置草图尺寸? UG草图尺寸的编辑方法
  9. 视频教程-2021软考网络工程师-上午真题解析培训视频课程-软考
  10. Odoo Excel报表的设计及实现
  11. 新单词 part 13
  12. 我的世界服务器怎么修改id,我的世界端游怎么改名字
  13. 成为域名代理商好不好?域名代理商赚钱吗?
  14. 在机顶盒上被移除adb后恢复的办法
  15. ACM算法训练【贪心合集】
  16. 内部乙方部门的转型之困
  17. php面试题 优信二手车_分布式定时任务对比 - sharedCode的个人空间 - OSCHINA - 中文开源技术交流社区...
  18. Qt实现中国象棋:(三)棋盘绘制的详细分析及实现
  19. 自然语言处理必读论文推荐3篇
  20. win0php环境搭建,win10php环境搭建详细教程

热门文章

  1. 程序员如何庆祝十一:用Python绘制红色的中国地图
  2. 脊柱神经系统分布在哪里,脊柱神经系统分布图片
  3. VMware虚拟机不能上网了怎么办
  4. 日化行业DMS全渠道商城系统
  5. 三天撸完了MyBatis,各位随便问!!(冰河吐血整理,建议收藏)
  6. 机器学习的transformer
  7. ADC转换速率kSPS定义
  8. 计算机网络传输速度单位换算,网络速度单位换算
  9. 单位换算:存储容量单位bit(比特)、Byte(字节)、KB、GB、TB;速率单位b/s,Kb/s,Mb/s,Gb/s,Tb/s
  10. 六大常用软件设计模式—代理模式