having和where的区别

文/李傲

where不能使用聚合函数,having中可以使用聚合函数。where子句在聚合前先筛选记录,也就是说作用在group by子句和having子句前,而having子句在聚合后对组记录进行筛选。

having和where的区别

where和having的区别

where子句的作用是在对查询结果进行分组前,将不符合where条件的行去掉,即在分组之前过滤数据,条件中不能包含聚组函数,使用where条件显示特定的行。

having子句的作用是筛选满足条件的组,即在分组之后过滤数据,条件中经常包含聚组函数,使用having条件显示特定的组,也可以使用多个分组标准进行分组。

where:

where是一个约束声明,使用where来约束来自数据库的数据;

where是在结果返回之前起作用的;

where中不能使用聚合函数。

having:

having是一个过滤声明;

在查询返回结果集以后,对查询结果进行的过滤操作;

在having中可以使用聚合函数。

where和having的执行顺序:where早于group by早于having。

猜你喜欢

2022化学生物历史可报大学及专业有哪些

2021-11-22

2022年美术联考220分算低吗 多少分正常

2021-11-22

3分钟的家长会发言稿精选 高二学生代表发言稿

2021-11-22

theirs和their的区别

2021-11-22

选政治历史地理的大学 可以读什么专业

2021-11-22

高中物理怎么才能学好 学习方法有哪些

2021-11-22

hand和head发音区别

2021-11-22

差生血拼高三作息表 高三学生如何健康熬夜

2021-11-22

政治历史化学可报专业 前景怎么样

2021-11-22

西门子发明了什么 发明了哪些东西

2021-11-22