一、排序查询

1.关键字:order by

2.排序方式:asc 升序,可省略;desc 降序,不可省略

3.注意:order by中的字段与select中的字段无关

select empno from emp order by sal;

对同一个字段进行多次排序,只有第一个排序有效

select empno,sal from emp order by sal,sal desc

二、分组查询

1.关键字:group by

2.聚合函数

(1)sum():求和

(2)max():求最大值

(3)min():求最小值

(4)avg():求平均值

(5)count(*/常量/字段):统计总数,统计的字段不能为空,不可能出现空值

                性能比较:count(*)<count(字段)<count(常量)

所有的聚合函数都是针对非空字段进行的

3.having

        having与group by子句联合使用,用来过滤分组之后的数据

4.若SQL语句中含有group by子句,此时select子句仅能出现

(1)group 奴役子句中出现的字段

(2)聚合函数

(3)常量

示例:如果group by中的字段,没有出现在select子句中则会报错

                select ename,sal from emp group by deptno;

                        --不是group by表达式

5.在SQL语句中,select子句中含有聚合函数,但是并没有出现group by子句的情况,select中不能出现聚合函数和常量以外的字段。

                select ename,count(*) from emp;

                        --不是单租分组函数

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐