问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

oracle的where条件里有不包括的条件吗

发布网友 发布时间:2022-02-28 07:53

我来回答

2个回答

热心网友 时间:2022-02-28 09:23

不包括可以用not in或者not exists
谈一下两者的区别:

not in 和not exists
not in 逻辑上不完全等同于not exists,如果你误用了not in,小心你的程序存在致命的BUG,请看下面的例子:

create table #t1(c1 int,c2 int);create table #t2(c1 int,c2 int);insert into #t1 values(1,2);insert into #t1 values(1,3);insert into #t2 values(1,2);insert into #t2 values(1,null);

select * from #t1 where c2 not in(select c2 from #t2);  -->执行结果:无select * from #t1 where not exists(select 1 from #t2 where #t2.c2=#t1.c2)  
-->执行结果:1  3

正如所看到的,not in出现了不期望的结果集,存在逻辑错误。如果看一下上述两个select 语句的执行计划,也会不同,后者使用了hash_aj,所以,请尽量不要使用not in(它会调用子查询),而尽量使用not exists(它会调用关联子查询)。如果子查询中返回的任意一条记录含有空值,则查询将不返回任何记录。如果子查询字段有非空*,这时可以使用not in,并且可以通过提示让它用hasg_aj或merge_aj连接。
如果查询语句使用了not in,那么对内外表都进行全表扫描,没有用到索引;而not exists的子查询依然能用到表上的索引。所以无论哪个表大,用not exists都比not in 要快。

热心网友 时间:2022-02-28 10:41

where not exists
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
做胚胎移植成功率多少 试管婴儿移植冻囊胚成功率有多高 试管移植冻胚成功率有多大 如何让word的奇数页页眉是文章的标题? 心目中的自己作文400字左右请告告我开头怎么写 封神榜的十二金仙是谁 雅漾的护肤品怎么样? - 知乎 女孩子以馨字取最佳的名字 英语口语练习软件推荐哪款英语学习工具好用 不锈钢保温杯壁有一圈圈的印 找回密码QQ密码密码都忘记了怎么找回 oracle 11g数据库对电脑配置要求有多高? 微信好友被删了,自己又不知道他的了。怎么找回 微信被删除好友的如何找回? 考spss认证对学历有要求吗? 哪些职称对学历有要求 对学历有什么要求吗? 学历高低对国家认证的资格证有什么影响吗? 现在考个CCNA的证有用吗?能做什么工作? CCNA难考吗?考出来有什么用? 华为荣耀7能手机分身用两个手机吗? 拥有RHCA+CCNP证书,无工作经验,薪资大概多少,一线城市 我想学小机和ORACLE数据库维护,请问需要考什么认证? oracle数据库 操作语句中的disable约束条件是仕么意思?有和作用? Oracle PL/SQL: ORA-00001: 违反必须为唯一的限制条件 我查出的数据没有重复的,为什麽报错? 求助:Oracle PL/SQL: ORA-00001: 违反必须为唯一的限制条件 我查出的数据没有重复的,为什麽报错? oracle限制字段取值范围的是 怎样修改 把自己的处理掉怎么弄 我要修改,怎样修改 如何学习oracle?对linux有哪些要求? oracle 对系统配置要求 ++++Oracle都有哪些权限?++++++ 被别人举报封了怎么办 被别人举报封了怎么办? 被别人恶意举报了怎么办?被封号了。 我的被人恶意举报了,被封号了请问怎么解封? 被投诉封号了,按照提示解封不了,怎么办 被投诉封号了,按照提示解封不了,怎么办 抖音粉丝牌怎样切换 抖音直播间管理员如何更改该主播的粉丝团名称? 抖音直播间粉丝团铭牌如何不在其他直播间显示? 抖音怎么通过粉丝牌找主播? 在抖音上如果主播不直播怎样才能在加上粉丝牌? 抖音怎么带着粉丝牌去别家 抖音怎么在别人的直播间关掉自己的粉丝牌? 抖音视频直播如何切换粉丝ktv模式 怎么更改抖音直播入场时显示的牌子? 抖音主播已经注销账号,如何摘掉粉丝牌? 抖音粉丝牌怎么有黄蓝之分 蓝色怎么搞?