整理:sql server 中sql语句执行顺序

2022-08-15 00:00:00 子句 生成 返回 步骤 筛选

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>


相关文章