1.4having子句的使用以及和where的区别

首先说一下having子句的作用:having子句主要用于过滤分组

分组函数也叫组函数也叫多行函数

(1)having子句的使用

        求平均工资大于2000点部门

                select    deptno , avg(sal)    from    emp    group    by    deptno    having    avg(sal)>2000;

 (2)where与having点区别

        不能在where子句中使用组函数,但是可以在having子句中使用组函数

        不含分组函数时where和having是可以通用的

(3)错误示例

        select    deptno,avg(sal)    from    emp    where    avg(sal) > 2000    group    by    deptno;

(4)where和having可以通用的情况

        查询10号部门的平均工资

        select    deptno,avg(sal)    from    emp    group    by    deptno    having    deptno    =    10;

        select    deptno,avg(sal)    from    emp    where    deptno=10    group    by    deptno;

(5)注意:从SQL优化的角度尽量使用where

        原因:having先分组后过滤,where先过滤后分组

        where使得分组记录数大大降低,从而提高效率

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在北方冬至要吃饺子,可是今年的冬至在周一,饺子只好在周日提前包了。自己剁馅、和面、擀皮、包一条龙,外加父亲只吃素还...
    旅居上海的青青草阅读 242评论 0 0
  • 对你,我想我输了。 这是一个会打扮的年龄,不再邋邋遢遢的。虽然在你眼里,我依旧是一身运动装,偶尔出奇的打扮也因为上...
    华亭亭阅读 350评论 1 3
  • 我有个外号,三太子。 我很喜欢哪吒,或许是小时候看的印象太深刻,颈戴乾坤圈,臂绕混天绫,脚踏风火轮,手持火尖枪,出...
    小春风阅读 313评论 1 2
  • 〜2016-03-14陈俊文 三月桃花分外娆, 福州古墙乐逍遥, 借问此缘何处有? 路人遥指乌山上! ~《乌山梅景》
    陈俊文福建通瑞阅读 162评论 0 0
  • ——备考中级会计职称倒计时Day 46 蔡康永的一段话,是我决定去学游泳的动力。他说到,15岁觉得游泳难,放弃游泳...
    除夕前夜阅读 338评论 0 0