您的位置:首页 > 数据库

SQL中where 和 having的区别

2014-04-27 15:12 246 查看
“Where” 是一个约束声明,使用Where来约束来之数据库的数据,Where是在结果返回之前起作用的。
“Having”是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作。
--需要注意说明:当同时含有where子句、group by
子句 、having子句及聚集函数时,执行顺序如下:
--执行where子句查找符合条件的数据;
--使用group by 子句对数据进行分组;对group by 子句形成的组运行聚集函数计算每一组的值;最后用having 子句去掉不符合条件的组。
--having 子句中的每一个元素也必须出现在select列表中。有些数据库例外,如oracle.
--having子句和where子句都可以用来设定限制条件以使查询结果满足一定的条件限制。
--having子句限制的是组,而不是行。where子句中不能使用聚集函数,而having子句中可以。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: