sql查詢語句的執行順序
阿新 • • 發佈:2018-12-22
sql查詢語句的處理步驟如下:
--查詢組合欄位
(5)select (5-2) distinct(5-3) top(<top_specification>)(5-1)<select_list>
--連表
(1)from (1-J)<left_table><join_type> join <right_table> on <on_predicate>
(1-A)<left_table><apply_type> apply <right_table_expression> as <alias>
(1-P)<left_table> pivot (<pivot_specification>) as <alias>
(1-U)<left_table> unpivot (<unpivot_specification>) as <alias>
--查詢條件
(2)where <where_pridicate>
--分組
(3)group by <group_by_specification>
--分組條件
(4)having<having_predicate >
--排序
(6)order by<order_by_list>
說明:
1、順序為有1-6,6個大步驟,然後細分,5-1,5-2,5-3,由小變大順序,1-J,1-A,1-P,1-U,為並行次序。如果不夠明白,接下來再來個流程圖看看。
2、執行過程中也會相應的產生多個虛擬表(下面會有提到),以配合最終的正確查詢。
3、聚合函式在5-1時執行。
sql查詢語句處理步驟流程圖: