2018-10-22
閱讀量:
1024
MySQL中WHERE與HAVING的區(qū)別
WHERE 子句作用于表和視圖,HAVING 子句作用于組。
兩者顯著的區(qū)別是WHERE子句條件查詢的作用域是針對數(shù)據(jù)表進(jìn)行操作,而HAVING條件查詢則是對查詢結(jié)果進(jìn)行操作。
WHERE在分組和聚集計(jì)算之前篩選行,而HAVING 在分組和聚集之后篩選分組的行。因此WHERE子句不能包含聚集函數(shù),相反HAVING 子句總是包含聚集函數(shù)。(嚴(yán)格說來,也可以寫不使用聚集的 HAVING 子句,但這種情況下同樣的條件使用WHERE子句速度更快,因?yàn)槲覀儽苊饬藶槟切┎粷M足WHERE條件的行進(jìn)行分組和聚集計(jì)算)
當(dāng)真實(shí)數(shù)據(jù)表中沒有此數(shù)據(jù),這些數(shù)據(jù)是通過一些函數(shù)生成的,就需要使用HAVING子句進(jìn)行篩選。







評論(0)


暫無數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評論
0條評論
0條評論
1條評論