百分百源码网-让建站变得如此简单! 登录 注册 签到领金币!

主页 | 如何升级VIP | TAG标签

当前位置: 主页>网站教程>数据库> Mysql中where与having用法区别详解
分享文章到:

Mysql中where与having用法区别详解

发布时间:01/15 来源: 浏览: 关键词:
很多初用mysql的朋友可能搞不清楚在mysql中where与having的区别在哪里,下面我来简单的举几个实例来介绍where与having的区别吧。

让我们先运行2个sql语句:

 代码如下


SELECT * FROM `welcome` HAVING id >1 LIMIT 0 , 30


SELECT * FROM `welcome` WHERE id >1 LIMIT 0 , 30

查看一下结果吧,怎么样?是不是查询到相同的结果。

让我们再看2个sql语句:

 代码如下


SELECT user, MAX(salary) FROM users GROUP BY user HAVING MAX(salary)>10;


SELECT user, MAX(salary) FROM users GROUP BY user WHERE MAX(salary)>10;

怎么样?看出差别了吗,第一个sql语句可以正常运行【旧版mysql可能会出错】,而第二个则会报错。

如果你没看出我们再看

•WHERE子句是在第一步从表或视图中配全SELECT子句把数据过滤性地查询出来。如:

 

 代码如下
1.select * from table_a where title1='a'; 
select * from table_a where title1='a';

•HAVING子句是在SELECT子句与WHERE子句把查询出来的结果存放到内存中的二次过滤。如:
 

 代码如下
1.select * from table_a   
2.where title1='a'   
3.having content2 like 'b%' 


总结

二者相似,却也有不同。让我们简单了解一下。

where和having的区别是where子句对一个表的所有记录进行操作,只搜索与指定条件相匹配的记录。

而having子句只对经过操作的表记录进行检索,对结果集进行更进一步的筛选。

通常,having子句和group by子句相连,而where子句和select,delete和update语句相连。

打赏

打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,你说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

百分百源码网 建议打赏1~10元,土豪随意,感谢您的阅读!

共有7人阅读,期待你的评论!发表评论
昵称: 网址: 验证码: 点击我更换图片
最新评论

本文标签

广告赞助

能出一分力是一分吧!

订阅获得更多模板

本文标签

广告赞助

订阅获得更多模板