DQL-数据查询
2022-10-15 本文已影响0人
RickyWu585
语法
select 字段列表
from 表名列表
where 条件列表
group by 分组字段列表
having 分组后条件列表
order by 排序字段列表
limit 分页参数

基本查询
- 查询多个字段
select 字段1,字段2,字段3... from 表名;
select * from 表名;
- 设置别名
select 字段1 [as 别名1],字段2 [as 别名2] ... from 表名;
- 去除重复记录
select distinct 字段列表 from 表名;
条件查询
- 语法
select 字段列表 from 表名 where 条件列表;
-
条件
image.png
聚合函数:将一列数据作为整体,进行纵向计算
-
常见聚合函数
image.png
- 语法
注意:null值不参与所有聚合函数运算
select 聚合函数(字段列表) from 表名;
分组查询
- 语法
注意:1.执行顺序:where > 聚合函数 > having;2.分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义
select 字段列表 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
- where与having区别
- 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对结果进行过滤
- 判断条件不同:where不能对聚合函数进行判断;而having可以
排序查询
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序
- 语法
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;
- 排序方式
- ASC:升序(默认)
- DESC:降序
分页查询
- 注意
- 起始索引从0开始,
起始索引 = (查询页码 - 1) * 每页显示记录数
- 分页查询是数据库方言,不同数据库有不同的实现,mysql中是limit
- 如果查询的是第一页数据,起始索引可以省略,直接简写为
limit 10
- 语法
select 字段列表 from 表名 limit 起始索引,查询记录数;