MySQL中 where和having区别

本文主要讲述了MySQL中的where和having在SQL查询中的区别,where在groupby之前执行,用于基础数据筛选,而having在groupby之后,针对分组后的数据和聚合函数值进行筛选。
摘要由CSDN通过智能技术生成

相同点 

where和having在作用上基本相同,都是筛选数据。

要了解MySQL中where和having的区别,我们需要知道MySQL的执行顺序:

form→where→where→group by→having→select→order by→limit

从上面可以看出,where的执行是在group by 前,having的执行是在group by 后,所以可以看出:

        having相比where,它可以对group by后及分组后的数据,进行筛选,而一般在分组的时候,我们会使用聚合函数(SUM,MIN,MAX,AVG,COUNT),having也能对聚合函数的值进行筛选。

总结:

所以having相比where多了对分组后数据进行筛选的功能,并且能对聚合函数的值进行筛选。

        

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值