心盛待花开

2020-11-29   阅读量: 813

where 中不能使用聚合函数是因为执行顺序吗,那having和where的区别是啥啊?

扫码加入数据分析学习群

答:不是。

“Where” 是一个约束声明,使用Where来约束来自数据库的数据,Where先对数据库中的字段限制再返回结果,且Where中不能使用聚合函数。

“Having”是一个过滤声明,是在查询返回结果集以后对查询结果进行的过滤操作(也可以理解为限制),在Having中可以使用聚合函数。

用having就一定要和group by连用,
用group by不一有having (它只是一个筛选条件用的)

只要条件里面的字段, 不是表里面原先有的字段就需要用having. SQL在查询表的时候先把查询的字段放到了内存里,而where查询的时候是从表里面查的,其余需要用having。


添加CDA认证专家【维克多阿涛】,微信号:【cdashijiazhuang】,提供数据分析指导及CDA考试秘籍。已助千人通过CDA数字化人才认证。欢迎交流,共同成长!
89.8867 2 0 关注作者 收藏

评论(0)


暂无数据

推荐课程