基本查询
1、 查询指定字段
select 字段1, 字段2, 字段3 from 表格;
2、 查询所有字段(最好不要使用通配符,以提升可读性)
select * from 表格;
3、查询指定字段,起别名
select 字段 as '别名' from 表格;
4、查询指定字段,不重复
select distinct 字段 from 表格;
select作用:查询返回哪些字段
条件查询
1、 基本语法
select 字段 from 表名 where 条件列表;
条件:比较运算符号、逻辑运算符
2、_和%
select * from emp where name like '___';
select * from emp where idcard like '%X';
其中_用作占位,代表着某一位置;%则代表了前列所有,因此可用许多个_来代替%
聚合函数
常见DQL-聚合函数:
count:统计数量
max:求最大值
min:求最小值
avg:求平均值
sum:求和
-
语法:
seletc 聚合函数(字段列表) from 表名;
注意:所有聚合函数在计算时是不计算null值的
分组查询
-
语法:
select 字段 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
where和having区别:
1、where是在分组之前进行过滤,不满足where条件的不参与分组;而having是对分组后的结果进行过滤。
2、where不能对聚合函数进行判断,而having可以对聚合函数进行判断。
执行顺序:
where>group by>聚合函数>having
排序查询
-
语法:
select 字段 from 表名 [where 条件] order by 字段1 排序方式1,字段2 排序方式2…;(支持多字段排序)
-
排序方式
ASC:升序;
DESC:降序
分页查询
-
语法
select 字段列表 from 表名 limit 起始索引,查询记录数;
注意:
起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数
分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是limit
如果查询的是第一页的数据,起始索引可以省略,直接简写为 limit 10.
DQL执行顺序
from > where > group by > having >select >order by >limit