DQL
select
字段列表
from
表名列表
where
条件列表
group by
分组列表
having
分组之后的条件
order by
排序
limit
分页限定
基础查询
//多个字段的查询
select 字段1, 字段2, … from 表名;
//去除重复
distinct
//计算列
//一般可以使用四则运算计算一些列的值(数值型计算)
//null参与的计算计算结果都为null,需要替换
ifnull(表达式1,表达式2)
//起别名
as//可省略
条件查询
> < <= >= = <>
BETWEEN ... AND ...
IN(集合)
LIKE
IS NULL
AND &&
OR ||
NOT !
模糊查询
LIKE 占位符
- : 单个任意字符
% : 多个任意字符
排序查询
//ASC : 升序(默认)
//DESC : 降序
order by 排序字段1 排序方式1, 排序字段2 排序方式2, ...
聚合查询
count//个数
max//最大值
min//最小值
sum//求和
avg//平均值
select COUNT(english) FROM student;
//聚合函数的计算会排除非空
SELECT COUNT(IFNULL(english,0)) FROM student;
分组查询
group by 分组字段;
//分组之后查询的字段:分组字段、聚合函数
SELECT sex, AVG(math), COUNT(id) FROM student GROUP BY sex;
//分组前,限定参与分组的条件
SELECT sex, AVG(math), COUNT(id) FROM student WHERE math > 70 GROUP BY sex;
//分组后,限定可以被查询出来的条件
SELECT sex, AVG(math), COUNT(id) FROM student GROUP BY sex HAVING COUNT(id) > 2;
分页查询
limit 开始的索引,每页查询的条数;
//开始的索引 = (当前的页码 - 1) * 每页显示的条数
SELECT * FROM student LIMIT 0,3; -- 第1页
SELECT * FROM student LIMIT 3,3; -- 第2页
SELECT * FROM student LIMIT 6,9; -- 第3页