Oracle Minus关键字 不包含...
来源:互联网 发布:东方网络股票最新消息 编辑:程序博客网 时间:2024/06/14 08:55
http://blog.itpub.net/23494139/viewspace-1108100/
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 并集
select c,d
from (select c,d,
rownum rownum_
from (select c,d
from a1
where (c, d) in
((select c, d
from a1) minus
(select c, d
from a2
where 1 = 1))
)
where rownum <= 10)
where rownum_ > 0
- Oracle Minus关键字 不包含...
- Oracle Minus关键字 不包含 取差集
- oracle minus 不包含
- Oracle Minus关键字
- Oracle Minus关键字
- Oracle Minus关键字
- Oracle Minus关键字
- Oracle Minus关键字
- Oracle Minus
- Oracle不常用基础之union、union all、 Intersect、Minus
- Oralce MINUS 关键字
- grep 搜索不包含关键字的行
- oracle 查询包含关键字的方法
- oracle包含最多关键字的查询语句
- oracle关键字(关键字不可用)
- oracle 中的minus
- oracle中minus
- Oracle Minus 取差集
- 【Java】使用外部变量初始化子线程 上
- 音乐播放器APK之MediaPlayer使用指南
- Xamarin.Forms教程开发的Xcode的下载安装
- 关于JAVA中Collection运用
- 泛型与非泛型集合类的区别及使用例程,包括ArrayList,Hashtable,List<T>,Dictionary<Tkey,Tvalue>,SortedList<Tkey,Tvalue>,Queu
- Oracle Minus关键字 不包含...
- shiro 用ajax方式登录
- Hash算法_实战
- 去除canvas 画圆的毛边
- HDU(3333)树状数组+离线
- Camera
- iOS清楚緩存
- 使用Android studio添加assets目录
- 【Java】使用外部变量初始化子线程 下