日期:2014-05-17  浏览次数:20383 次

关于sql select的理解
本人正在学SQL。对select语句有些疑问。我现在的理解是select可以看成是一个循环,检索表的中数据,如果后面有条件限制的话。那它的执行顺序是不是也是先查询所有结果,然后再与后面的条件匹配。还请大牛们分析下。

------解决方案--------------------
select具体执行很复杂,可以查看执行计划来了解
ctrl + L

------解决方案--------------------
探讨

select具体执行很复杂,可以查看执行计划来了解
ctrl + L

------解决方案--------------------
开始【实际执行计划】就可以看到SQLServer语句的实际执行顺序了,图像是从右到左,从上到下来看的
------解决方案--------------------
http://www.cnblogs.com/summer_adai/archive/2011/10/28/2227605.html
这里面写的很清晰
------解决方案--------------------
SQL的逻辑查询处理执行顺序
Transact-SQL语言是基于集合(set-based)查询的语言。
在实践中,查询的实际物理处理可能与逻辑处理有很大不同。
1、FROM 
2、ON
3、JOIN--做笛卡尔乘积
4、WHERE
5、GROUP BY
6、WITH(cube | rollup )
7、HAVING
8、SELECT 列表
9、DISTINCT
10、ORDER BY
可以参考下这个执行顺序。
------解决方案--------------------
探讨
本人正在学SQL。对select语句有些疑问。我现在的理解是select可以看成是一个循环,检索表的中数据,如果后面有条件限制的话。那它的执行顺序是不是也是先查询所有结果,然后再与后面的条件匹配。还请大牛们分析下。