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.atonin的用法及区别口诀

3.全国多少985学校多少211学校 二者的区别是什么

4.高三一二三诊哪个重要 区别在哪

5.高三一诊二诊三诊哪个更接近高考 区别是什么

6.毕业证怎么分辨一本二本三本 有哪些区别

7.上海一模考和二模考区别 作用是什么

8.上海高考一模考和二模考区别 考不好怎么办

一键复制全文保存为WORD