having 与where区别

xiaoxiao2021-02-28  94

在sql语句中,where和having都可以用作条件筛选,区别是:

1) 如果与group  by结合,where放在group by 前面,而having则放在group by 后面;

2)where子句中不能出现聚合函数,但是having可以,如下

select m.min,m.name from ( select min(fenshu) as min ,name from demo_stu GROUP BY name )m where min >80

这是where作为条件筛选,需要使用子查询,而having则可以直接判断

select min(fenshu)  ,name from demo_stu GROUP BY name HAVING min(fenshu)>80

在用having进行筛选时,不用给筛选的列取别名,会出错哦!

转载请注明原文地址: https://www.6miu.com/read-27867.html

最新回复(0)