用的地方不一樣
where可以用於select、update、delete和insert into values(select * from table where ..)語句中。
having只能用於select語句中
執行的順序不一樣
where的搜索條件是在執行語句進行分組之前應用
having的搜索條件是在分組條件后執行的
即如果where和having一起用時,where會先執行,having后執行
子句有區別
where子句中的條件表達式having都可以跟,而having子句中的有些表達式where不可以跟;having子句可以用集合函數(sum、count、avg、max和min),而where子句不可以。
總結
1.WHERE 子句用來篩選 FROM 子句中指定的操作所產生的行。
2.GROUP BY 子句用來分組 WHERE 子句的輸出。
3.HAVING 子句用來從分組的結果中篩選行
2.GROUP BY 子句用來分組 WHERE 子句的輸出。
3.HAVING 子句用來從分組的結果中篩選行