exist-in和关联子查询-非关联子查询
1.in是子查询为驱动表,外面的表为被驱动表,故适用于子查询结果集小而
外面的表结果集大的情况。
2.exists是外面的表位驱动表,子查询里面的表为被驱动表,故适用于外面
的表结果集小而子查询结果集大的情况。
而为何会出现这种exists和in的使用上的区别呢,其实问题的关键在于关联
子查询和非关联子查询上。exists一般都是关联子查询,in则一般都是非关联
子查询。
对于关联子查询,必须先执行外层查询,接着对所有通过过滤条件的记录,执行
内层查询。外层查询和内层查询相互依赖,因为外层查询会把数据传递给内层查询。
非关联子查询则必须先完成内层查询之后,外层查询才能介入。
exsits:
select whatever from table_a a
where exists(
select null from table_b b
where b.id=a.id
and somecondition
)
and somecondition
可以看到,在exists子查询里面,有关键的一个连接条件:where b.id=a.id,就是这个条件决定了必须先找出a中符合条件的记录,然后才能与b连接,最终得出查询的结果。这就是为什么说exists适用于外面的表结果集小而子查询结果集大的情况。因为必须先执行外层查询,然后才能执行内层查询。
而in则恰恰相反,不再详述。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21805468/viewspace-619898/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21805468/viewspace-619898/
exist-in和关联子查询-非关联子查询相关推荐
- 相关子查询非相关子查询概念
子查询:嵌套在其它查询中的查询语句.(又称为内部查询) 主查询:包含其它子查询的查询称为主查询.(又称外部查询) 子查询分为两类: 相关子查询 非相关子查询 在主查询中,每查询一条记录,需要重新做一次 ...
- c++ 提取傅里叶描述子_非谐声子模拟方法(Normal Mode Decomposition)
(本文是2018年"蓝火计划"的调研报告,有修改) 个人博客链接: 非谐声子模拟方法(Normal Mode Decomposition) 引言 固体中的格波由相互独立的简正模式组 ...
- SQL的相关子查询和非相关子查询
SQL的相关子查询和非相关子查询 1相关子查询&非相关子查询概念 2 举例说明 3 参考 1相关子查询&非相关子查询概念 子查询:嵌套在其它查询中的查询语句.(又称为内部查询) 主查询 ...
- oracle subquery是什么,如何让非关联子查询(uncorrelated subquery)先执行
如何让非关联子查询(uncorrelated subquery)先执行 环境:10.2.0.4 / Solaris 9 有一个sql: [php] SELECT M.PROD_DATE, N.FAC_ ...
- server多笔记录拼接字符串 sql_第四章、SQL Server数据库查询大全(单表查询、多表连接查询、嵌套查询、关联子查询、拼sql字符串的查询、交叉查询)...
4.1.查询的类型 declare @value as int set @value = 50 select 'age:'as age,2008 years,@valueas va --这种查询时跟 ...
- Oracle 数据库的子查询(关联子查询)
文章目录 一.子查询结果返回一个值(单列单行) 二.子查询结果返回多行(单列多行) 三.子查询结果返回多列多行 四.关联子查询 (一)子查询执行顺序 (二)exists 关键字 五.子查询总结 六.关 ...
- order by 子查询_视图,子查询,标量子查询,关联子查询
视图 子查询 标量子查询 关联子查询 如何用SQL解决业务问题 各种函数 1. 视图 视图内存放SQL查询语句,运行时运行该语句.查出的数据为临时数据 创建视图 create view as 视图名称 ...
- mysql 子表 关联查询语句_MySQL-基本查询语句及方法,连表和子查询
一.基本查询语句 create table emp( id intnotnull unique auto_increment, name varchar(20) notnull, sex enum(' ...
- SQL子查询和关联子查询
子查询:将用来定义视图的SELECT语句直接用于FROM子句中. SELECT <列名1>, <列名2>, - FROM (<SELECT语句>) AS <视 ...
最新文章
- AI规模化落地,英特尔至强的七重助力
- Eclipse中JRE System Library、Web App Libraries的作用
- MySQL 处理插入重主键唯一键重复值办法
- SysLink UserGuide
- 2021-2025年中国窗帘行业市场供需与战略研究报告
- Java注解的作用?
- Visual Studio 2019报错:缺少mfc120.dll
- cmake使用介绍【转】
- 产品经理常用专业名词
- 计算机基础相关知识面试题
- 第四届“安洵杯”网络安全挑战赛MISC-Writeup
- VSCode小说神器Thief-Book-VSCode页数获取
- idea 报错improperly specified vm option. to fix the problem,edit your jvm option and remove the option
- 服务器维护 灵魂兽,魔兽世界7.0新灵魂兽麋鹿捕捉方法
- 怎么有python画五角星_Python的画五角星
- LTE - 以IMS SIP消息为例深入解析RLC AM PDU收发过程
- 水文专业对计算机要求,来了来了,高考志愿这么填!
- Debian dns设置
- Ambari2.7.4 + HDP3.1.4 离线安装(2)
- 数据库原理 数据库镜像
热门文章
- [luogu-1007]独木桥 题解
- More than 100 items having missing data for more than 10 minutes
- 一次只做一件事,并做到最好!
- Yeelink平台使用——远程控制 RT Thread + LwIP+ STM32
- 索尼录音笔怎么导出录音内容_搜狗新品发布,引领录音笔行业走向AI时代!
- 2.3(将英尺转化为米)编写程序,读入英尺数,将其转换为米数并显示结果。1英尺等于0.305米
- fs文件系统模块常用的API
- mysql数据库不耀华答案_mysql数据库简单操作命令
- EXT Combox
- 李岳恒:高可用的以太坊智能合约下的Token经济即将来临