简述sql语句中where和having的区别和使用的地方谢谢

  可选中1个或多个下面的关键词,搜索相关资料。也可直接点“搜索资料”搜索整个问题。

  having ···(只能对分组后的每个组的整体属性进行筛选,用聚合函数体现)

  Where是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的,且Where中不能使用聚合函数。Having是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作,在Having中可以使用聚合函数。

  HAVING子句可以让我们筛选成组后的各组数据,WHERE子句在聚合前先筛选记录.也就是说作用在GROUP BY 子句和HAVING子句前;而 HAVING子句在聚合后对组记录进行筛选。用实例来理解GROUP BY 和 HAVING 子句:

  先以region把返回记录分成多个组,这就是GROUP BY的字面含义。分完组后,然后用聚合函数对每组中的不同字段(一或多条记录)作运算。

  二、显示每个地区的总人口数和总面积.仅显示那些人口数量超过1000000的地区。

  注意:不能用where来筛选超过1000000的地区,因为表中不存在这样一条记录。

相关阅读