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

oracle not exists 的问题

发布网友 发布时间:2022-04-14 00:59

我来回答

2个回答

懂视网 时间:2022-04-14 05:20

先看下面的例子:oracle中两个系统表.emp,dept.example:1:not exists(not in)not exists: 这条语句返回select * from scott.dep

先看下面的例子:Oracle中两个系统表.emp,dept.example:

1:not exists(not in)

not exists:

这条语句返回select * from scott.dept d where e.deptno=d.deptno and d.deptno=10条件满足的结果集.也就是说,

返回的结果集中不存在d.deptno=10结果集的记录,即emp表中没有dept表中d.deptno=10的记录.

SQL> select empno,ename,deptno from scott.emp e where not exists(select * from scott.dept d where e.deptno=d.deptno and d.deptno=10);

EMPNO ENAME DEPTNO
----- ---------- ------
7369 SMITH 20
7499 ALLEN 30
7521 WARD 30
7566 JONES 20
7654 MARTIN 30
7698 BLAKE 30
7788 SCOTT 20
7844 TURNER 30
7876 ADAMS 20
7900 JAMES 30
7902 FORD 20

11 rows selected

not in:

第一个where条件必须给定字段(deptno), 第二个sql语句中,必须明确给定要查询的字段是哪个(deptno).

SQL> select empno,ename,deptno from scott.emp e where deptno not in(select deptno from scott.dept d where e.deptno=d.deptno and d.deptno=10);

EMPNO ENAME DEPTNO
----- ---------- ------
7369 SMITH 20
7499 ALLEN 30
7521 WARD 30
7566 JONES 20
7654 MARTIN 30
7698 BLAKE 30
7788 SCOTT 20
7844 TURNER 30
7876 ADAMS 20
7900 JAMES 30
7902 FORD 20

11 rows selected

2: exists(in)

exists:

这条语句返回select * from scott.dept d where e.deptno=d.deptno and d.deptno=10条件满足的记录结果集.

也就是说返回的结果集中只存在有d.deptno=10的记录,即emp表中只存在dept表中d.deptno=10的记录.

SQL> select empno,ename,deptno from scott.emp e where exists(select * from scott.dept d where e.deptno=d.deptno and d.deptno=10);

EMPNO ENAME DEPTNO
----- ---------- ------
7782 CLARK 10
7839 KING 10
7934 MILLER 10

in:

第一个where条件必须给定字段(deptno), 第二个sql语句中,必须明确给定要查询的字段是哪个(deptno).

SQL> select empno,ename,deptno from scott.emp e where deptno in(select deptno from scott.dept d where e.deptno=d.deptno and d.deptno=10);

EMPNO ENAME DEPTNO
----- ---------- ------
7782 CLARK 10
7839 KING 10
7934 MILLER 10


oracle 中exists (in)和not exists(not in)是判断是否存在和不存在表中记录的关键子.

请注意:not in 逻辑上不完全等同于not exists,如果你误用了not in,小心你的程序存在致命的BUG:因此,请尽量不要使用not in(它会调用子查询),而尽量使用not exists(它会调用关联子查询)。

linux

热心网友 时间:2022-04-14 02:28

select id
from entity
where etype in ('D')
and parent_id = 83
and id not in (select id from lbs_person)

嘿嘿,既然not in效率低,那么上边你也别用etype in ('D') 了,一个道理,不如etype='D'了

select id
from entity
where etype in ('D')
and parent_id = 83
and not exists (select id from lbs_person) 语法没错误,你找找是不是字符类型的错,把错误的id号写出来
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
哥们,我是黑龙江齐齐哈尔现在高一的,想报考中国刑警学院,什么分数线啊... 没有驾驶证车辆查到有违章怎么办 广州岭南印象园景区介绍 ...从新选像我这样的人不知道读什么又懒又不想背书。 哎呀哎呀好烦阿要期末考试了,我不想背书 高考我是文科的光不想背书怎么办呢 我不想背书啊啊啊啊,考第一真难,现在的初中生涯好难熬,哪位大神教我... 现在初二了 不想背书 感觉好无聊 只想玩 但是成绩还是不错的 我该... ...时候学习还中等。现在基本一窍不通。也不想背书,身边也没人背,上课... [精选]菊花茶的副作用 上海师范大学自考专业有哪些 上海自考有哪些专业比较好 上海的自考学校有哪些 上海复旦大学自考有哪些专业 自考本科有哪些专业?想在上海参加自考! 上海师范大学都有哪些自考专业? 上海高校自考都有哪些专业呀?自考本科 上海自考专业的种类有哪些 上海自考本科有哪些专业? 上海招考热线 自考本科有哪些专业? 上海自考大专有哪些专业环境艺术设计难吗 一个能建几个群 怎样建微信群号 苹果手机键盘找不到符号± 儿童荞麦壳枕头好不好?用这种枕头有什么好处呢? 全国有哪些二本师范大学? 婴儿睡荞麦枕头好吗 要买华硕fx50jk4710的笔记本电脑,怕被坑,问一下新机鲁大师跑分大概是多少?可以的话配上图, 江西师范大学二本软件学院是公办还是民办的为什么学费那么高 如何买笔记本电脑 联想G460A-ITH 和 华硕A42EI35JK-SL 索尼克与黑暗骑士的故事内容 索尼克与黑暗骑士的早期新闻 索尼克竞速故事模式我打开后突然黑屏出现(如下)为什么?如何解决? 网路下载「索尼克与秘密的戒指」用Dolphin玩结果黑屏!!! 海南社会保险人脸识别视频认证管理系统取景框不显示 梦见男朋友要和我分手,我跳楼自杀了! 梦到男友出轨与男友吵架分手我还收东西走人最后我用刀杀他然后我自杀 梦见男友分手后自杀是什么意思 婴儿车什么牌子好,婴儿伞车哪个品牌的好 适合新年的标题有哪些? 梦见我要和男朋友分手,然后男朋友当着我的面跳楼死了,血流一片,好吓人 元旦富有诗意的标题 婴儿车到底买哪款好 关于年味的标题有哪些? 元旦手抄报标题 不能太俗 家人特别沉迷直播间买品牌衣服怎么办(请看介绍)? 元宵节将至,元宵和汤圆的区别,不要再傻傻分不清楚啦 2011春季铁路司机考试成绩查询 谁能说下什么时候出成绩 和查成绩的网站 中国铁路总公司第126.127期动车组司机培训班考试成绩 2009年全国铁路司机资格理论考试