having和where的區(qū)別
來源:高三網(wǎng) 2021-11-30 10:43:59
where不能使用聚合函數(shù),having中可以使用聚合函數(shù)。where子句在聚合前先篩選記錄,也就是說作用在group by子句和having子句前,而having子句在聚合后對組記錄進行篩選。
1、where和having的區(qū)別
where子句的作用是在對查詢結果進行分組前,將不符合where條件的行去掉,即在分組之前過濾數(shù)據(jù),條件中不能包含聚組函數(shù),使用where條件顯示特定的行。
having子句的作用是篩選滿足條件的組,即在分組之后過濾數(shù)據(jù),條件中經常包含聚組函數(shù),使用having條件顯示特定的組,也可以使用多個分組標準進行分組。
where:
where是一個約束聲明,使用where來約束來自數(shù)據(jù)庫的數(shù)據(jù);
where是在結果返回之前起作用的;
where中不能使用聚合函數(shù)。
having:
having是一個過濾聲明;
在查詢返回結果集以后,對查詢結果進行的過濾操作;
在having中可以使用聚合函數(shù)。
where和having的執(zhí)行順序:where早于group by早于having。
相關推薦:
最新高考資訊、高考政策、考前準備、志愿填報、錄取分數(shù)線等
高考時間線的全部重要節(jié)點
盡在"高考網(wǎng)"微信公眾號
相關推薦
高考院校庫(挑大學·選專業(yè),一步到位!)
高校分數(shù)線
專業(yè)分數(shù)線
- 日期查詢