SQL中分組查詢的執行次序

1、group by 的執行的過程:

先執行select 的操作返回一個程序集,

然後去執行分組的操作,這時候他將根據group by 後面的字段進行分組。

2.當同時含有where子句、group by 子句 、having子句及聚集函數時,執行順序如下:

–執行where子句查找符合條件的數據;

–使用group by 子句對數據進行分組;對group by 子句形成的組運行聚集函數計算每一組的值;最後用having 子句去掉不符合條件的組。

–having 子句中的每一個元素也必須出現在select列表中。有些數據庫例外,如oracle.

–having子句和where子句都可以用來設定限制條件以使查詢結果滿足一定的條件限制。

–having子句限制的是組,而不是行。where子句中不能使用聚集函數,而having子句中可以。

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