MySQL教程视频_数据处理函数_having与where区别

MySQL教程视频_数据处理函数_having与where区别

更新时间:2017年04月07日

  • 网盘提取码:a1ie
  • 适合对象:Java学员、Java爱好者、开发人员
  • qq号:2158476996
一键免费下载

下载介绍

更多>>
MySQL教程视频_数据处理函数_having与where区别

作用:如果想对分组的数据再进行过滤,需要使用having子句;

找出每个工作岗位的平均薪水,要求显示平均薪水大于2000的;  1)

思路分析:先对工作岗位  job  分组,然后对每一组薪水求平均值,最后再对每一组平均薪水的值进行

大于2000的条件过滤;

错误写法:select job,avg(sal) from emp where avg(avg) > 2000 group by job;

原因:where关键字后面不能直接使用分组函数,这不SQL询句的执行顺序有关系,它会先执行

from emp,然后再迚行  where  条件过滤,where条件过滤结束之后再执行  group by  分组,之后才会

显示出查询结果。

正确写法:select job,avg(sal) from emp group by job having avg(sal) > 2000;

注意:能够在where在过滤的数据不要放到having中迚行过滤,否则影响SQL询句的执行效率

where 与 having 区别:

where  和  having  都是为了完成数据的过滤,它们后面都是添加条件;  

where 是在 group by之前完成过滤;  

having 是在 group by 之后完成过滤; 


Java相关视频锦集

返回顶部