子查询(分类及在from后面的子查询)

本文深入解析SQL中的子查询,包括嵌套在from中的子查询作为临时表使用,以及子查询的两种类型:相关子查询和非相关子查询。相关子查询依赖于外部查询的数据,每次外部查询执行时都会重新执行;非相关子查询则独立执行,执行一次后将结果传递给外部查询。

整理后的文档,关于select及where后面的子查询可查看这个博主的文章

链接

1、嵌套在from中的子查询

这个地方的子查询就相当于一个表,临时表,即表T。

也就是说,外面的select,其查询的内容就是括号内的子查询返回的数据集

写法如下:

SELECT * FROM (SELECT ROW1,ROW2 FROM TABLE1) T

2、查询的分类

2、1相关子查询

子查询的条件与外表相关联。

执行依赖于外部查询的数据。

(就是table1在该select外面,而select里面table1.xx=table2.xx) 
 
  外部查询返回一行 ,子查询就执行一次。(对于该select,里面的子select会重复很多次执行)

2、2非相关子查询

独立于外部查询的子查询。

子查询总共执行一次,执行完毕后后将值传递给外部查询。

需要注意的是相关子查询主查询执行一回,子查询就执行一回,十分耗费时间,尤其是当数据多的时候。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值