文章目录
1.DQL 查询语句
1. 排序
通过 ORDER BY 子句,可以将查询出的结果进行排序(排序只是显示方式,不会影响数据库中数据的顺序)
SELECT 字段名 FROM 表名 WHERE 字段=值 ORDER BY 字段名 [ASC|DESC];
ASC: 升序,默认值
DESC: 降序
- 单列排序
- 什么是单列排序:
只按某一个字段进行排序,单列排序。
select * from 表名 order by 排序的列 desc;
- 组合排序
- 什么是组合排序?
同时对多个字段进行排序,如果第1个字段相等,则按第2个字段排序,依次类推。组合排序的语法:
SELECT 字段名 FROM 表名 WHERE 字段=值ORDERBY字段名1[ASC|DESC],字段名2[ASC|DESC];
2.聚合函数
之前我们做的查询都是横向查询,它们都是根据条件一行一行的进行判断,而使用聚合函数查询是纵向查询,它是对一列的值进行计算,然后返回一个结果值。聚合函数会忽略空值NULL。
- 五个聚合函数
SQL中的聚合函数 | 作用 |
---|---|
max(列名) | 求这一列的最大值 |
min(列名) | 求这一列的最小值 |
avg(列名) | 求这一列的平均值 |
count(列名) | 统计这一列有多少条记录 |
sum(列名) | 对这一列求总和 |
- 语法
SELECT聚合函数(列名)FROM表名;
我们发现对于NULL的记录不会统计,建议如果统计个数则不要使用有可能为null的列,但如果需要把NULL.
IF NULL(列名,默认值) 如果列名不为空,返回这列的值。如果为NULL,则返回默认值。
我们可以利用IFNULL()函数,如果记录为NULL,给个默认值,这样统计的数据就不会遗漏
select count(if null(id,0))from student;
例子:
-- 查询年龄大于 20 的总数
select count(*) from student where age>20;
--