oracle minus 利用率,Oracle Minus 取差集(也可以用来做分页,但效率不高)
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 取差集(也可以用来做分页,但效率不高)相关推荐
- Oracle Minus关键字 不包含 取差集
Oracle Minus关键字 SQL中的MINUS关键字 SQL中有一个MINUS关键字,它运用在两个SQL语句上,它先找出第一条SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果 ...
- minus oracle 顺序_Oracle Minus 取差集
Oracle Minus关键字 SQL中的MINUS关键字 SQL中有一个MINUS关键字,它运用在两个SQL语句上,它先找出第一条SQL语句所产生的结果,然后看这些结果有没有在第二个SQL语句的结果 ...
- oracle数据库 交集,Oracle两个逗号分割的字符串,获取交集、差集(sql实现过程解析)...
Oracle数据库的两个字段值为逗号分割的字符串,例如:字段A值为"1,2,3,5",字段B为"2". 想获取两个字段的交集(相同值)2,获取两个字段的差集(差 ...
- oracle 指定关联,Oracle巧取指定记录以及巧用外关联查询
51Testing软件测试网n*ue;R,F%SF5j]"f%Q Oracle巧取指定记录以及巧用外关联查询)L,mOf&ym2g0 9xJ}]-y0作者:010032 51Tes ...
- Oracle的并集、交集、差集运算
Oracle中有并集.交集.差集的3种运算 1. union : 得到两个查询结果的并集,并且自动去掉重复行,不会排序. union all: 得到两个查询结果的并集,不会去掉 ...
- oracle 12c omf,从参数取值瞅Oracle OMF特性
当前位置:我的异常网» 数据库 » 从参数取值瞅Oracle OMF特性 从参数取值瞅Oracle OMF特性 www.myexceptions.net 网友分享于:2014-05-17 浏览:1 ...
- Oracle 查询出来的数据取第一条
Oracle 查询出来的数据取第一条 --------------------------------------------------------------------------- 转载自:h ...
- Oracle学习XII —— Oracle集合运算
Oracle集合运算 Oracle集合运算就是把多个查询结果组合成一个查询结果,oralce的集合运算包括:INTERSECT(交集).UINION ALL(交集重复).UINION(交集不重复).M ...
- oracle的集函数,Oracle统计分析函数集之一(转载)
分析函数over 及开窗函数 一:分析函数over Oracle从8.1.6开始提供分析函数,分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是 对于每个组返回多行,而聚合函数对于每个组只返 ...
- oracle stdevp函数,ORACLE和SQL语法区别归纳整理.doc
ORACLE和SQL语法区别归纳整理 一.数据类型比较⑴.字符数据类型?? CHAR?? CHAR?? 都是固定长度字符资料但oracle里面最大度为2kb,SQLServer里面最大长度为8kb变长 ...
最新文章
- 查找数组里相同元素的个数
- engineering equation solver_欧洲留学|爱尔兰圣三一大学不可错过的高薪专业工程学Msc.Engineering|爱尔兰最佳工程课程!...
- linux裁剪内核和移植,嵌入式Linux内核裁剪及移植的研究与实现
- Linux文件和目录的属性及权限
- Ubuntu下pdf乱码和rar解压后无效文件编码解决方案
- 51nod 1770 数数字
- Mybatis系列(四)注解
- ug草图精度怎么设置_UG怎么设置草图尺寸? UG草图尺寸的编辑方法
- 视频教程-2021软考网络工程师-上午真题解析培训视频课程-软考
- Odoo Excel报表的设计及实现
- 新单词 part 13
- 我的世界服务器怎么修改id,我的世界端游怎么改名字
- 成为域名代理商好不好?域名代理商赚钱吗?
- 在机顶盒上被移除adb后恢复的办法
- ACM算法训练【贪心合集】
- 内部乙方部门的转型之困
- php面试题 优信二手车_分布式定时任务对比 - sharedCode的个人空间 - OSCHINA - 中文开源技术交流社区...
- Qt实现中国象棋:(三)棋盘绘制的详细分析及实现
- 自然语言处理必读论文推荐3篇
- win0php环境搭建,win10php环境搭建详细教程
热门文章
- 程序员如何庆祝十一:用Python绘制红色的中国地图
- 脊柱神经系统分布在哪里,脊柱神经系统分布图片
- VMware虚拟机不能上网了怎么办
- 日化行业DMS全渠道商城系统
- 三天撸完了MyBatis,各位随便问!!(冰河吐血整理,建议收藏)
- 机器学习的transformer
- ADC转换速率kSPS定义
- 计算机网络传输速度单位换算,网络速度单位换算
- 单位换算:存储容量单位bit(比特)、Byte(字节)、KB、GB、TB;速率单位b/s,Kb/s,Mb/s,Gb/s,Tb/s
- 六大常用软件设计模式—代理模式