首页 > 其他 > 详细

where VS having

时间:2014-07-05 20:58:20      阅读:361      评论:0      收藏:0      [点我收藏+]

where 和 having 的区别:
    
    WHERE 子句不能包含聚集函数; 因为试图用聚集函数判断那些行输入给聚集运算是没有意义的。相反,HAVING 子句总是包含聚集函数
    having一般跟在group by之后,执行记录组选择的一部分来工作的。
    where则是执行所有数据来工作的。再者having可以用聚合函数,如having sum(qty)>1000
 1.用的地方不一样
   where可以用于select、update、delete和insert...into语句中。
   having只能用于select语句中
 2.执行的顺序不一样
   where的搜索条件是在执行语句进行分组之前应用
   having的搜索条件是在分组条件后执行的
   即如果where和having一起用时,where会先执行,having后执行
 3.子句有区别
   where子句 中的条件表达式having都可以跟,而having子句中的有些表达式where不可以跟;having子句可以用集合函数(sum、count、avg、max和min),而where子句不可以。
 4.作用的对象不同
    WHERE 子句作用于表和视图,HAVING 子句作用于组。   

where VS having,布布扣,bubuko.com

where VS having

原文:http://www.cnblogs.com/datastack/p/3826290.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!