SQL中Having与Where的区别
更新时间:2016年01月30日 15:12:45 投稿:hebedich
何时使用having where,请遵照下面的说明:WHERE语句在GROUP BY语句之前;SQL会在分组之前计算WHERE语句。HAVING语句在GROUP BY语句之后;SQL会在分组之后计算HAVING语句。
含义
where
在分组之前就进行选择操作
having
having在分组操作之后才进行选择操作,所以having可以选择聚合函数
eg:
// 下面这句是可以的
SELECT COUNT(*) FROM A
WHERE A.a1>0
GROUP BY a2;
//但是下面就不行
SELECT COUNT(*) FROM A
WHERE A.a1>0 and count(*)>1
GROUP BY a2;
//必须要改为having
SELECT COUNT(*) FROM A
WHERE A.a1>0
GROUP BY a2
HAVING COUNT(*)>1
相关文章
分布式缓存Redis与Memcached的优缺点区别比较
Redis和Memcached都是基于内存key-value的数据存储系统。两者都可以通过缓存数据结果,HTML片段或其他可能产生成本很高的内容来帮助加快应用程序的速度。与memcached相比,Redis功能更强大,更受欢迎并且得到更好的支持。
2022-12-12
常见的SQL优化面试专题大全
面试中如何被问到SQL优化,看这篇就对了,下面这篇文章主要给大家介绍了关于SQL优化面试的相关资料,文中将答案介绍的非常详细,需要的朋友可以参考下
2023-03-03
90%程序员面试会遇到的索引优化问题
不管是用C/C++/Java等代码编写的程序,还是SQL编写的数据库脚本,都存在一个持续优化的过程。也就是说,代码优化对于程序员来说,是一个永恒的话题。下面这篇文章主要给大家总结介绍了90%程序员在面试的时候会遇到的索引优化问题,需要的朋友可以参考下。
2017-11-11
关于navicat事务自动提交问题
这篇文章主要介绍了关于navicat事务自动提交问题,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
2020-12-12
sql语句创建外键关联的完整实例
这篇文章主要给大家介绍了关于sql语句创建外键关联的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
2021-03-03
最新评论