整理后的文档,关于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非相关子查询
独立于外部查询的子查询。
子查询总共执行一次,执行完毕后后将值传递给外部查询。
需要注意的是相关子查询主查询执行一回,子查询就执行一回,十分耗费时间,尤其是当数据多的时候。
本文深入解析SQL中的子查询,包括嵌套在from中的子查询作为临时表使用,以及子查询的两种类型:相关子查询和非相关子查询。相关子查询依赖于外部查询的数据,每次外部查询执行时都会重新执行;非相关子查询则独立执行,执行一次后将结果传递给外部查询。
2214

被折叠的 条评论
为什么被折叠?



