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