sql基础版(DQL)
一、基础查询
- 查询多个字段
SELECT 字段列表 FROM 表名; SELECT * FROM 表名; // 查询所有数据
- 去除重复记录
SELECT DISTINCT 字段列表 FROM 表名;
- 起别名
AS: AS 也可以省略
二、条件查询
- 条件查询语法
SELECT 字段列表 FROM 表名 WHERE 条件列表
- 条件
三、排序查询
- 排序查询语法
排序方式SELECT 字段列表 FROM 表名 ORDER BY 排序字段名1 [排序方式1], 排序字段名2 [排序方式2]
- ASC: 升序排列(默认值)
- DESC : 降序排列
注意:如果有多个排序条件,当前面的条件值一样时,才会根据第二条件进行排序
四、聚合函数
-
概念: 将一列数据作为整体,进行纵向计算
-
聚合函数分类
-
聚合函数语法
SELECT 聚合函数名(列名)FROM 表
注意:null值不参与所有聚合函数运算
五、分组查询
- 语法
SELECT 字段列表 FROM 表名 [WHERE 分组前条件限定] GROUP BY 分组字段名 [HAVING 分组后条件过滤]
注意:分组之后,查询的字段为聚合函数和分组字段,查询其他字段无任何意义
where和having的区别:
- 执行时机不一样:where 是分组之前进行限定,不满足where条件,则不参与分组,而having是分组之后,对结果进行过滤
- 可判断的条件不一样,where 不能对聚合函数进行判断,而having可以
执行顺序:
where > 聚合函数 > having
六、分页查询
- 语法
SELECT 字段列表 FROM 表名 LIMIT 起始索引, 查询条目数
起始索引,从0 开始
计算公式: 起始索引=(当前页码-1)* 每页显示的条数
tips:
a. 分页查询limit 是mysql数据库的方言
b. Oracle 分页查询使用 rownumber
c.Sql Server 分页查询 使用top