where和having的區(qū)別
where子句的作用是在對(duì)查詢結(jié)果進(jìn)行分組前,將不符合where條件的行去掉,即在分組之前過濾數(shù)據(jù),條件中不能包含聚組函數(shù),使用where條件顯示特定的行。
having子句的作用是篩選滿足條件的組,即在分組之后過濾數(shù)據(jù),條件中經(jīng)常包含聚組函數(shù),使用having條件顯示特定的組,也可以使用多個(gè)分組標(biāo)準(zhǔn)進(jìn)行分組。
where:
where是一個(gè)約束聲明,使用where來約束來自數(shù)據(jù)庫(kù)的數(shù)據(jù);
where是在結(jié)果返回之前起作用的;
where中不能使用聚合函數(shù)。
having:
having是一個(gè)過濾聲明;
在查詢返回結(jié)果集以后,對(duì)查詢結(jié)果進(jìn)行的過濾操作;
在having中可以使用聚合函數(shù)。
where和having的執(zhí)行順序:where早于group by早于having。
大學(xué)院校在線查
高考熱門一鍵查
有疑問就來發(fā)現(xiàn)