问题描述 :
DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)(查询表中数据)
关键字 :select,where
解决方案 :
一、语法 :
Select
字段列表
from
表名称列表
where
条件列表
group by
分段列表
having
分组之后的条件
order by
排序
limit
分页限定
二、基础查询 :
1.多个字段的查询
select 字段名称1,字段名称2, ... from 表名称
注意 :如果查询所有字段,则可以使用 * 来替代字段列表
2.去除重复
distinct
3.计算列
一般可以使用四则运算计算一些列的值。(一般只会进行数值型的计算)
ifnull(表达式1,表达式2) :null参与的运算,计算结果都为null
表达式1 :哪个字段需要判断是否为null
表达式2 :如果该字段为null,则以此为替换值
4.起别名
as :as也可以省略
三、条件查询 :
1.where字句后跟条件
2.运算符
> 、< 、>= 、<=、= 、<>
between ... and
in(集合)
is null null值不能使用=(!==)
and 或 && or 或 || not 或 !
like :模糊查询
占位符 :
_ :单个任意字符
% :多个任意字符
四、排序查询 :
1.语法 :order by 子句
order by 排序字段 排序方式
2.排序方式 :
ASC :升序(默认)
DESC :降序
3.注意 :
如果有多个排序条件,则当前面条件值一样时,才会判断第二条件
目录
目录
DQL(Data Query Language)数据查询语言,用来查询数据库中表的记录(数据)(查询表中数据)
1.count :计算个数
(1) 一般选择非空的列 :主键
(2)count(*)
2.max :计算最大值
3.min :计算最小值
4.sum :计算和
5.avg :计算平均值
注意 :聚合函数的计算排除null值
解决方案 :
1.选择不包含null的列进行计算
2.ifnull函数
六、分组查询 :
1.语法 :group by 分组字段;
2.注意 :
(1)分组之后查询的字符 :分组字段、聚合函数
(2)where 和 having 的区别
where 在分组之前进行限定,如果不满足条件,则不参与分组
having 在分组之后进行限定,如果不满足结果,则不会被查询出来
where 后不可以跟聚合函数,having可以进行聚合函数的判断
七、分页查询 :
1.语法 :limit 开始的索引,每页查询的条数
2.公式 :开始的检索 = (当前的页码 - 1)* 每页显示的条数
3.limit是一个“方言”,仅在MySQL中使用