where和having的区别

where:
  • where是一个约束声明,使用where来约束来自数据库的数据;
  • where是在结果返回之前起作用的;
  • where中不能使用聚合函数。
having:
  • having是一个过滤声明;
  • 在查询返回结果集以后,对查询结果进行的过滤操作;
  • 在having中可以使用聚合函数

 

执行顺序:

  • where 早于 group by 早于 having
  • where子句在聚合前先筛选记录,也就是说作用在group by 子句和having子句前,而 having子句在聚合后对组记录进行筛选
  • .where不能使用聚合函数、having中可以使用聚合函数
.聚合函数和group by:
聚合函数就是 例如SUM, COUNT, MAX, AVG等 对一组(多条)数据操作的函数,需要配合group by 来使用。
posted @   KLAPT  阅读(130)  评论(0编辑  收藏  举报
编辑推荐:
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
阅读排行:
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· PowerShell开发游戏 · 打蜜蜂
· 在鹅厂做java开发是什么体验
· WPF到Web的无缝过渡:英雄联盟客户端的OpenSilver迁移实战
点击右上角即可分享
微信分享提示