时间:2024-02-05 11:03作者:下载吧人气:28
要说having,首先要说一下where,这个语句非常常用且重要。
在我们查询数据库时,不可能每一次都把所有数据拿出来(上亿的数据量,啥服务器也扛不住啊)
通常都是取出前10条,按时间取前30条,按名称、年龄、金额等数据表中有的字段的值进行筛选;也有可能筛选后数据还是比较多,会进行一个分页处理。
这里where的作用就必不可少了!只要是表中存在的字段值类型,写成布尔值结果的表达式即可,多条件与、或、非运算都可以。
可以说,项目中用到的SQL语句,99.9%都包含Where语句的,实用程度可想而知。
但是它却有无法实现的一些功能,这时,having就要出场了~
SQL语句中,如果需要计算总数、累加、求均值等聚合运算,并筛选出总数未达到或达到的部分集合
Where语句无法替代的,比如
在Where 中使用 Count时,异常报错如下
图片内容翻译: Where中不能出现聚合运算,只能写到having或者select中
因此,可以这么说,having可以做到where做不到的效果
通常有having的地方都有聚合运算,
网友评论