欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库中where与having的区别

程序员文章站 2022-07-01 22:10:38
从整体声明角度分析: “where”是一个约束声明,在查询数据库结果返回之前对数据库的查询条件做一个约束,即返回结果之前起作用,“where”后面不能跟聚合函数; “having”是一个过滤声明,在查询数据库结果返回之后进行过滤,即返回结果之后起作用,“having”后面可以加聚合函数; 聚合函数: ......

从整体声明角度分析:

  “where”是一个约束声明,在查询数据库结果返回之前对数据库的查询条件做一个约束,即返回结果之前起作用,“where”后面不能跟聚合函数;

  “having”是一个过滤声明,在查询数据库结果返回之后进行过滤,即返回结果之后起作用,“having”后面可以加聚合函数;

聚合函数:是对一组值进行计算,返回单一的值,例如:count(),sum(),max(),min()

从使用角度分析:

  “where”   select  student_id,student_name from student where student_sorce>80;

  "having"  select sum(sorce) from student group by student_sex having student_id<10;