[每日一题] OCP1z0-047 :2013-08-08 相关子查询中EXISTS的使用.....................................28...
转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/9865711
正确答案是:AC
EXISTS谓词非常简单,它是对一个非空集的测试。如果在其子查询中存在任何行,则返回TRUE,否则为FALSE。该谓词不会返回UNKNOWN结果。EXIST()谓词语法如下: <EXISTS谓词>::=[NOTEXISTS]<表子查询>
对exists的测试,看执行计划:
gyj@MYDB> create table t3(id number,name varchar2(100)); Table created. gyj@MYDB> insert into t3 select level,'a'||level from dual connect by level<1000000; 999999 rows created. gyj@MYDB> create index idx_t3 on t3(id); Index created. gyj@MYDB> create table t4(id number,name varchar2(100)); Table created. gyj@MYDB> insert into t4 select level,'a'||level from dual connect by level<10; 9 rows created. gyj@MYDB> commit; Commit complete. gyj@MYDB> exec dbms_stats.gather_table_stats(user,'t3',cascade => true); PL/SQL procedure successfully completed. gyj@MYDB> exec dbms_stats.gather_table_stats(user,'t4'); PL/SQL procedure successfully completed.
看完计行计划就明白了EXISTS的执行步骤:
gyj@MYDB> set autot traceonly; gyj@MYDB> select * from t4 where id in (select id from t3); 9 rows selected. Execution Plan ---------------------------------------------------------- Plan hash value: 1092212754 ----------------------------------------------------------------------------- | Id | Operation | Name | Rows | Bytes | Cost (%CPU)| Time | ----------------------------------------------------------------------------- | 0 | SELECT STATEMENT | | 9 | 99 | 21 (0)| 00:00:01 | | 1 | NESTED LOOPS SEMI | | 9 | 99 | 21 (0)| 00:00:01 | | 2 | TABLE ACCESS FULL| T4 | 9 | 54 | 3 (0)| 00:00:01 | |* 3 | INDEX RANGE SCAN | IDX_T3 | 999K| 4882K| 2 (0)| 00:00:01 | ----------------------------------------------------------------------------- Predicate Information (identified by operation id): --------------------------------------------------- 3 - access("ID"="ID") Statistics ---------------------------------------------------------- 1 recursive calls 0 db block gets 20 consistent gets 0 physical reads 0 redo size 723 bytes sent via SQL*Net to client 520 bytes received via SQL*Net from client 2 SQL*Net roundtrips to/from client 0 sorts (memory) 0 sorts (disk) 9 rows processed
EXISTS半连接的伪代码
open tab1 while tab1 still has records fetch record from tab1 result = false open tab2 while tab2 still has records fetch record from tab2 if(tab1.record matches tab2.record) then result = true exit loop end if end loop close tab2 if (result = true) return tab1 record end loop close tab1
QQ:252803295
学习交流QQ群:
DSI&Core Search Ⅰ 群:127149411(技术:已满)
DSI&Core Search Ⅱ 群:177089463(技术:未满)
DSI&Core Search Ⅲ 群:284596437(技术:未满)
DSI&Core Search Ⅳ 群:192136702(技术:未满)
DSI&Core Search Ⅴ 群:285030382(闲聊:未满)
MAIL:oracledba_cn@hotmail.com
BLOG: http://blog.csdn.net/guoyjoe
WEIBO:http://weibo.com/guoyJoe0218
ITPUB: http://www.itpub.net/space-uid-28460966.html
OCM: http://education.oracle.com/education/otn/YGuo.HTM
转载于:https://blog.51cto.com/guoyjoe/1428886
[每日一题] OCP1z0-047 :2013-08-08 相关子查询中EXISTS的使用.....................................28...相关推荐
- Leetcode每日一题:24.swap-nodes-in-pairs(两两交换链表中的节点)
思路:递归或者迭代,每次使用三个节点,pre.now.next即可实现交换,主要对链表头两个节点的交换有特殊性(不能用pre): 奇怪的是递归和迭代所占空间竟然差不多: struct ListNode ...
- Leetcode每日一题:剑指 Offer 04.(二维数组中的查找)
思路:有序+查找元素,第一想到的就是二分法,所以我对每行采用二分法,每行的复杂度为O(m),那么总的复杂度就是O(nlogm):看题解从右上角开始,这个数比目标值大,就往左移一列,比目标值小,就往下移 ...
- leetcode每日一题--前缀树;前缀哈希;深搜;面试题 08.04. 幂集;648. 单词替换面试题 01.09. 字符串轮转;剑指 Offer II 062. 实现前缀树
leetcode每日一题 ps:今天的每日一题没意思,简单的模拟,自己换一道 面试题 08.04. 幂集 幂集.编写一种方法,返回某集合的所有子集.集合中不包含重复的元素. 说明:解集不能包含重复的子 ...
- 2013.08.08——— android 中文简繁体转换
2013.08.08--- android 中文简繁体转换 参考:[url]http://www.pupuliao.info/2012/09/java%E7%9A%84utf-8-%E7%B9%81% ...
- (每日一题)P4841 [集训队作业2013]城市规划 (无向连通图计数)(普通生成函数 + 多项式求逆)
整理的算法模板合集: ACM模板 点我看算法全家桶系列!!! 实际上是一个全新的精炼模板整合计划 每日一题(莫反 / 多项式 / 母函数 / 群论) 2021.4.14 生成函数 + 多项式求逆 Pr ...
- android 部分文字加粗,2013.04.08——— android 关于部分文字加粗的有关问题
2013.04.08--- android 关于部分文字加粗的问题 2013.04.08--- android 关于部分文字加粗的问题 参考:http://blog.csdn.net/garretl ...
- 面试—每日一题(8)
好长时间没有更新博客了,特别是这个专栏,一是因为自己比较忙,二是因为我还是比较懒的缘故.让各位见笑了.今天在更新一篇. 像什么strcpy.strcat等等字符串的操作和实现在面试中经常出现,不管是上 ...
- 老男孩每日一题(一)
老男孩IT教育-每日一题汇总 第几天 第几周 日期 快速访问链接 第123天 第二十五周 2017年8月25日 出现Swap file-.already exists以下错误如何解决? 第122天 2 ...
- 运维面试题(每日一题)
每日一题 第一周 1.添加路由 2.如何防止Linux命令行或脚本里MySQL登录密码泄露? 3.将前端运行的服务或脚本,如何可以放置到后端进行执行 4.linux网络配置中如何给一块网卡添加多个IP ...
最新文章
- 千人千面,撩拨你的个性化广告
- mysql olap 工具_OLAP分析工具之Presto
- PHP5.5安装GeoIP扩展
- 平面设计要掌握的实用技巧
- Linux vms windows,Windows、Windows NT、DOS、VMS、Linux都是微机上用的操作系统。
- 2019年ICPC银川区域赛 Easy Problem(简单莫比乌斯函数 + 欧拉降幂)
- Akka Notes –演员记录和测试
- esxi 修改服务器配置失败,R720服务器安装 ESXI 5.5update1后出现XXX错误
- arraylist线程安全吗_Java中的集合和线程安全
- eclipse——JUnit单元测试的使用
- 使用Json封装scroll,已处理其兼容性问题
- 【关键字】volatile
- 如何查看页面是否开启gzip压缩
- 数据分析 时间序列分析 ARMA模型
- 分享文章到新浪微博(源码)
- 玩转MAC OS!实测DIY兼容机装苹果系统
- 图像处理:图像特效之油画效果
- 计算机科学与技术职业生涯规划,计算机科学与技术职业生涯规划ppt
- 我希望有个如你一般的人-张嘉佳
- 商务英文信函写法大全篇
热门文章
- mycat集群执行带有join的sql语句时报错_can‘t find table define in schema_分片join---Linux运维工作笔记052
- AndroidStudio_android中实现图片动态设置图片的位置以及图片动态缩放---Android原生开发工作笔记234
- C++_引用_引用的基本语法_注意事项_引用做函数参数---C++语言工作笔记031
- Linux多线程工作笔记0005---Linux多线程基础_创建线程pthread_create_线程等待_线程终止
- linux ftp使用相关
- linux mysql --help_深入理解mysql帮助命令(help)
- linux mysql 主从数据库_Linux下安装MySQL及MySQL主从同步配置
- 样条曲面_SolidWorks肥皂块曲面建模,你的肥皂掉了
- curl查看swift状态命令_微服务之——docker高级命令
- centos so查看_照片信息查看器app安卓下载-照片信息查看器app下载v1.1.0 安卓版