MySql学习——where和having的区别

本文详细解析了SQL查询中WHERE和HAVING子句的区别。WHERE用于筛选表中已有的字段,而HAVING不仅可以筛选表中字段,还能筛选聚集函数如MAX、MIN、AVG、SUM等结果。通过具体示例,展示了当需要对聚合后的结果进行进一步筛选时,使用HAVING的必要性。

where只能筛选表中已经有的字段,having则可以筛选除表中字段以外的字段,和聚集函数(max,min,avg,sum)

//sumgarde 总成绩   english 英语成绩

select (sumgarde-english) as a from stu having a > 500;

//查询总分减去英语成绩后分数仍大于500分的同学

这里把having换成where是不可以的。。

PS:我发现having也能查询表中的字段,那和where查询表中的字段有什么区别吗?有效率的问题吗?希望博友们能提示我一下,然后如果where和having还有啥区别也欢迎在评论区留言。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值