where是一个约束声明,不能使用聚集函数作为条件表达式
having是一个过滤声明,在查询返回结果集以后对查询结果进行的过滤操作,是group by的子句
例: Select sno,avg(grade)
from sc
where avg(grade)>=90
group by sno; error
上述写法错误,下面是正确的写法
select sno avg(grade)
from sc
group by sno
having avg(grade)>=90;
where是一个约束声明,不能使用聚集函数作为条件表达式
having是一个过滤声明,在查询返回结果集以后对查询结果进行的过滤操作,是group by的子句
例: Select sno,avg(grade)
from sc
where avg(grade)>=90
group by sno; error
上述写法错误,下面是正确的写法
select sno avg(grade)
from sc
group by sno
having avg(grade)>=90;