標準 SQL 的解析順序

標準SQL 解析順序

(1).FROM子句, 組裝來自不同數據源的數據
(2).WHERE子句, 基於指定的條件對記錄進行篩選
(3).GROUPBY 子句, 將數據劃分爲多個分組
(4).使用聚合函數進行計算
(5).使用 HAVING 子句篩選分組
(6).計算所有的表達式
(7).使用 ORDERBY 對結果集進行排序 

舉例說明

學生成績表 (暫記爲tb_Grade), "考生姓名"內容不爲空的記錄按照 "考生姓名" 分組, 並且篩選分組結果, 選出 "總成績" 大於 600 分的

標準順序的 SQL 語句爲:

select 考生姓名, max(總成績) as max總成績
fromtb_Grade
where 考生姓名 is not null
group by考生姓名
havingmax(總成績) >600
order bymax總成績

上面示例中 SQL 語句的執行順序如下:
(1). 首先執行 FROM 子句, tb_Grade 表組裝數據源的數據
(2). 執行 WHERE 子句, 篩選tb_Grade 表中所有數據不爲 NULL 的數據
(3). 執行 GROUPBY 子句, tb_Grade 表按 "學生姓名" 列進行分組
(4). 計算 max() 聚集函數, "總成績" 求出總成績中最大的一些數值
(5). 執行 HAVING 子句, 篩選課程的總成績大於 600 分的.
(7). 執行 ORDERBY 子句, 把最後的結果按"Max 成績" 進行排序

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章