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子句的作用是在對查詢結(jié)果進行分組前,將不符合where條件的行去掉,即在分組之前過濾數(shù)據(jù),條件中不能包含聚組函數(shù),使用where條件顯示特定的行。
  having子句的作用是篩選滿足條件的組,即在分組之后過濾數(shù)據(jù),條件中經(jīng)常包含聚組函數(shù),使用having條件顯示特定的組,也可以使用多個分組標準進行分組。
  where:
  where是一個約束聲明,使用where來約束來自數(shù)據(jù)庫的數(shù)據(jù);
  where是在結(jié)果返回之前起作用的;
  where中不能使用聚合函數(shù)。
  having:
  having是一個過濾聲明;
  在查詢返回結(jié)果集以后,對查詢結(jié)果進行的過濾操作;
  在having中可以使用聚合函數(shù)。
  where和having的執(zhí)行順序:where早于group by早于having。
相關推薦:
最新高考資訊、高考政策、考前準備、志愿填報、錄取分數(shù)線等
高考時間線的全部重要節(jié)點
盡在"高考網(wǎng)"微信公眾號

        
            




