1.類型:
“baiWhere”是一個約束聲明,在查詢數據庫du的結果返回之前對數據庫中zhi的查詢條件進行約束dao,即在結果返回之前起作用,且where后面不能使用“聚合函數”;
“Having”是一個過濾聲明,所謂過濾是在查詢數據庫的結果返回之后進行過濾,即在結果返回之后起作用,並且having后面可以使用“聚合函數”。
2.使用的角度:
where后面之所以不能使用聚合函數是因為where的執行順序在聚合函數之前,如下面這個sql語句:
select sum(score) from student group by student.sex where sum(student.age)>100; X
having既然是對查出來的結果進行過濾,那么就不能對沒有查出來的值使用having,如下面這個sql語句:
select student.id,student.name from student having student.score >90;X