目录
一、DQL-介绍
- DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录。
- 主要关键字:SELECT
- 基本操作:
- 基本查询
- 条件查询(WHERE)
- 聚合函数(count、max、min、avg、sum)
- 分组查询(GROUP BY)
- 排序查询(ORDER BY)
- 分页查询(LIMIT)
二、DQL-语法
执行顺序
SELECT ④
字段列表
FROM ①
表名列表
WHERE ②
条件列表
GROUP BY
分段字段列表
HAVING
分组后条件列表 ③
ORDER BY
排序字段列表 ⑤
LIMIT ⑥
分页参数
三、DQL-基本操作
-
基本查询
- 查询多个字段
- SELECT 字段1,字段2,字段3 ... FROM 表名;
- SELECT * FROM 表名;
- 设置别名
- SELECT 字段1 [AS 别名1],字段2 [别名2] ... FROM 表名;
- 去除重复记录(关键字:DISTINCT)
- SELECT DISTINCT 字段列表 FROM 表名;
- 查询多个字段
-
条件查询
-
逻辑运算符
功能 AND 或 && 与,多个条件同时满足时返回true OR 或 || 或,多个条件有一个满足时返回true NOT 或 ! 非,对条件进行取反 -
比较运算符
功能 = 等于 != 和 <> 不等于 < 小于 > 大于 <= 小于或等于 >= 大于或等于 BETWEEN ... AND ... 两个指定值之间 IN(如:IN(1,10,40)等于1或10或40) 在IN之后的列表中的值,多选一 LIKE 模糊匹配(匹配单个字符,%匹配任意个字符) IS NULL 判断一个值是否为 NULL IS NOT NULL 判断一个值是否不为 NULL
-
-
聚合函数
- 介绍:将一列数据作为整体,进行纵向计算。
- 常见聚合函数
函数 功能 count 计数 max 最大值 min 最小值 avg 平均数 sum 求和 - 语法 (注意:NULL值不参与所有聚合运算)
- SELECT 聚合函数(字段列表) FROM 表名;
- 例:SELECT AVG(age) FROM emp;(查询emp表中年龄平均数)
-
分组查询
- 语法
- SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];
- where和having的区别
- 执行时机不同:where是分组之前过滤,不满足条件不参与分组;having是分组后再过滤
- 判断条件不同:where不能对聚合函数进行判断,having则可以。
- 语法
-
排序查询
- 语法
- SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;
- 排序方式
- ASC:升序(默认)
- DESC:降序
- 注意:如果是多字段排序,当第一个字段值相同时才会根据第二个字段排序。
- 语法
-
分页查询
- 语法
- SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;
- 注意:
- 起始索引从0开始,起始索引=(查询页码-1)* 每页显示记录数
- 理解即为:如查询第2页数据,每页展示10条数据,即第一页也有10条数据,则从第十一条数据开始查询。
- 写法为:SELECT * FROM emp LIMIT 10,10;
- 分页查询是数据库的方言,不同数据库有不同语法
- 如果查询是第一页数据,起始索引可以省略。
- 即:select * from emp limit 0,10;= select * from emp limit 10;
- 起始索引从0开始,起始索引=(查询页码-1)* 每页显示记录数
- 语法
练习: