一、DBMS对包含group by的SQL执行步骤
对于实例 select avg(age) from student where ... group by sex
1.DBMS首先执行from子句,将表student作为中间表
2.DBMS根据WHERE子句的搜索条件,从中间表中去除那些值为false的列
3.根据group by子句指定的分组列,dbms将中间表中的数据进行分组
4.DBMS为每个分组计算select子句中的值,并为每组生成查询结果中的一行
二、where子句在分组之前过滤数据,而having子句则过滤分组后的数据,having子句中的列必须是组列