where和having区别:

where和having区别:

  • having只能用在group by以后,对分组后的结果进行筛选(即便用having的前提条件是分组)。
  • where确定在group by 以前,即也在having以前。
  • where后的条件表达式里不容许使用聚合函数,而having能够。

Where是一个约束声明,在查询数据库的结果返回以前对数据库中的查询条件进行约束,即在结果返回以前起做用,且where后面不能使用聚合函数。数据库

Having是一个过滤声明,所谓过滤是在查询数据库的结果返回以后进行过滤,即在结果返回以后起做用,而且having后面能够使用聚合函数。函数

所谓聚合函数,是对一组值进行计算而且返回单一值的函数:sum---求和,count---计数,max---最大值,avg---平均值等。数据

相关文章
相关标签/搜索