一、where子句
where子句:where子句仅仅用于从from子句中返回的值,from子句返回的每一行数据都会用where子句中的条件进行判断筛选,where子句中允许使用比较运算符和逻辑运算符
二、having子句
having子句:having子句通常是与order by子句一起使用的,因为having的作用是对使用group by进行分组统计后的结果进行进一步的筛选。
总结:
where子句:在分组之前使用,表示从所有数据中筛选出部分数据,以完成分组的要求,在where子句中不允许使用统计函数,没有group by子句也可以使用。
having子句:在分组之后使用的,表示对分组统计后的数据执行再次过滤,可以使用统计函数,有group by子句之后才可以出现having子句。