Where/Order by/Ggroup by/Having使用的注意事项
程序员文章站
2022-04-14 19:44:52
1、Where、Order by、Group by 、having Where作用对象是:基本表或视图,从中选出符合条件的元素。 Order by 作用对象是:基本表或视图,就是排序方式,分为升序(ASC)和降序(DESC),排序默认为升序 Group by 作用对象是:基本表或视图,把对象进行分组 ......
1、where、order by、group by 、having
where作用对象是:基本表或视图,从中选出符合条件的元素。
order by 作用对象是:基本表或视图,就是排序方式,分为升序(asc)和降序(desc),排序默认为升序
group by 作用对象是:基本表或视图,把对象进行分组(一个或多个字段)。
having 作用对象是 组,从中选择符合条件的组
注意事项:
- group by 与having连用选出符合条件的分组;
- group by 必须与聚合函数(sum,avg,min,max,cout)一起使用才有意义,使用时至少需要一个分组标志;
- group by 与where 一起使用时:
【3.1】一起使用时,where在前group by 在后;
【3.2】注意having和where的用法区别;
(3.2.1)having只能用在group by 之后,对分组的结果进行筛选{即使用having的前提条件是分组};
(3.2.2)where肯定再group by之前;
(3.2.3)where后的条件表达式里不允使用聚合函数,而having可以;
【3.3】当一个查询语句同事出现了where,group by,having,order by的时候,执行顺序和编写顺序是:
<where--group by---having--order by>
(1) 执行where xx对全表数据做筛选,返回第1个结果集。
(2) 针对第1个结果集使用group by分组,返回第2个结果集。
(3) 针对第2个结果集中的每1组数据执行select xx,有几组就执行几次,返回第3个结果集
(4) 针对第3个结集执行having xx进行筛选,返回第4个结果集。
(5) 针对第4个结果集排序。
推荐阅读
-
And,Where使用提示以及用+进行左关联的提示及注意事项
-
Where/Order by/Ggroup by/Having使用的注意事项
-
And,Where使用提示以及用+进行左关联的提示及注意事项
-
mysql笔试题一:查询where having以及统计函数的使用_MySQL
-
mysql笔试题一:查询where having以及统计函数的使用_MySQL
-
Group By 和 Having, Where ,Order by语句的执行顺序
-
Group By 和 Having, Where ,Order by语句的执行顺序
-
Where/Order by/Ggroup by/Having使用的注意事项