having和where的区别

文/不想他

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

where和having的区别

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

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

where:

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

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

where中不能使用聚合函数。

having:

having是一个过滤声明;

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

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

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

小编推荐

1.英一英二难度差距有多大 二者有哪些区别

2.技校单招和高中单招一样吗 二者有什么区别

3.强基计划和统招哪个好 二者有何区别

4.强基计划和普通录取的区别 有哪些不同

5.走单招和考上大专有什么区别 有哪些不同

6.单招和专科的学历一样吗 有区别吗

7.乌克兰语和俄语的区别 哪个好学

8.need to do和need doing的区别是什么

下载文档