最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

sql語句中where和having的區(qū)別

 更新時間:2013年06月24日 23:41:37   作者:  
HAVING是先分組再篩選記錄,WHERE在聚合前先篩選記錄.也就是說作用在GROUP BY 子句和HAVING子句前;而 HAVING子句在聚合后對組記錄進(jìn)行篩選
HAVING是先分組再篩選記錄,WHERE在聚合前先篩選記錄.也就是說作用在GROUP BY 子句和HAVING子句前;而 HAVING子句在聚合后對組記錄進(jìn)行篩選。

作用的對象不同。WHERE 子句作用于表和視圖,HAVING 子句作用于組。WHERE 在分組和聚集計算之前選取輸入行(因此,它控制哪些行進(jìn)入聚集計算), 而 HAVING 在分組和聚集之后選取分組的行。因此,WHERE 子句不能包含聚集函數(shù); 因為試圖用聚集函數(shù)判斷那些行輸入給聚集運(yùn)算是沒有意義的。 相反,HAVING 子句總是包含聚集函數(shù)。(嚴(yán)格說來,你可以寫不使用聚集的 HAVING 子句, 但這樣做只是白費(fèi)勁。同樣的條件可以更有效地用于 WHERE 階段。)比如說:

select * from tablename where id > 1; 和

select * from tablename having id > 1

這兩者是查詢結(jié)果是沒有區(qū)別的。不建議使用having

總結(jié)就兩句話:

WHERE語句在GROUPBY語句之前;SQL會在分組之前計算WHERE語句。
HAVING語句在GROUPBY語句之后;SQL會在分組之后計算HAVING語句。

相關(guān)文章

最新評論

江北区| 体育| 武义县| 富川| 临江市| 文水县| 库尔勒市| 西林县| 同心县| 金秀| 滕州市| 武义县| 靖远县| 宝鸡市| 塔城市| 固镇县| 台中市| 荔浦县| 阿巴嘎旗| 康保县| 余干县| 宜良县| 宿迁市| 阳东县| 灵武市| 尚义县| 樟树市| 周宁县| 汝州市| 安顺市| 弥渡县| 昆明市| 东莞市| 大田县| 响水县| 文成县| 正镶白旗| 黄冈市| 什邡市| 泰安市| 剑河县|