整理:sql server 中sql语句执行顺序
SQL Server 查询处理中的各个阶段(SQL执行顺序)
SQL 不同于与其他编程语言的明显特征是处理代码的顺序。在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,个被处理的子句是FROM子句,尽管SELECT语句个出现,但是几乎总是后被处理。
每个步骤都会产生一个虚拟表,该虚拟表被用作下一个步骤的输入。这些虚拟表对调用者(客户端应用程序或者外部查询)不可用。只是后一步生成的表才会返回 给调用者。如果没有在查询中指定某一子句,将跳过相应的步骤。下面是对应用于SQL server 2000和SQL Server 2005的各个逻辑步骤的简单描述。
(8)SELECT
(9)DISTINCT
(11)<Top Num> <select list>
(1)FROM [left_table](3)<join_type> JOIN <right_table>(2) ON <join_condition>
(4)WHERE <where_condition>
(5)GROUP BY <group_by_list>
(6)WITH <CUBE | RollUP>
(7)HAVING <having_condition>(10)ORDER BY <order_by_list>
相关文章