数据的高级操作
查询数据(下)
having
子句
having
字句:与where
子句一样,都是进行条件判断的,但是where
是针对磁盘数据进行判断,数据进入内存之后,会进行分组操作,分组结果就需要having
来处理。思考可知,having
能做where
能做的几乎所有事情,但是where
却不能做having
能做的很多事情。
第 1 点:分组统计的结果或者说统计函数只有having
能够使用
执行如下 SQL 语句,进行测试:
-- 求出表 student 中所有班级人数大于等于 2 的班级
select grade,count(*) from student group by grade having count(*) >= 2;
select grade,count(*) from student where count(*) >= 2 group by grade;
如上图所示,显然having
子句可以对统计函数得到的结果进行筛选