码迷,mamicode.com
首页 > 其他好文 > 详细

where VS having

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

标签:数据   工作   应用   re   对象   date   

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

标签:数据   工作   应用   re   对象   date   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!