DQL:数据查询语言,用来查询数据库中表的记录
查询关键词:select
DQL---语法:
基本查询:select 字段列表 from 表名列表
条件查询:where 条件列表 使用聚合函数(count/max/min/avg/sum)
分组查询:group by 分组字段列表 having 分组后条件列表
排序查询:order by 排序字段列表
分页查询:limit 分页参数
一、DQL---基本查询:
1、查询多个字段:
select 字段1,字段2...from 表名;
select * from 表名;
2、设置别名:
select 字段1 [as 别名1],字段2 [as 别名2] ... from 表名;
3、去除重复记录:
select distinct 字段列表 from 表名;
二、DQL---条件查询:
1、语法:
select 字段列表 from 表名 where 条件列表;
2、条件:
比较运算符:>,>=,<,<=,=,<>/!=,
between...and...:在某个范围之内,含最小最大值
in(...):在in之后列表中的值,多选一
like:占位符,模糊匹配(_匹配单个字符,%匹配任意字符)
is null:是null
逻辑运算符:and/&&:并且 or/||:或者 not/!:非,不是
以员工表为例:
条件查询的使用以及具体操作:
三、DQL---聚合函数:
1、介绍:
将一列数据作为一个整体,进行纵向计算
2、常见的聚合函数:
count、min、max、avg、sum
3、语法
select 聚合函数(字段列表) from 表名;
注意:null值不参与所有的聚合函数运算
四、DQL---分组查询:
1、语法:
select 字段名 from 表名 [where 条件] group by 分组字段名 [having 分组后过滤条件];
2、where和having区别:
(1)执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;
而having是分组之后对结果的进行过滤
(2)判断条件不同:where不能对聚合函数进行判断,而having可以
3、注意:
(1)执行顺序:where>聚合函数>having
(2)分组之后,查询的字段一般为据韩函数和分组字段,查询其他字段无任何意义
五、DQL---排序查询:
1、语法
select 字段列表 from 表名 order by 字段1 排序方式1,字段2,排序方式2;
2、排序方式
ASC:升序(默认值)
DESC:降序
3、注意:
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序
六、DQL---分页查询
1、语法
select 字段列表 from 表名 limit 起始索引,查询索引;
2、注意:
(1)起始索引从0开始,起始索引=(查询页码 - 1)* 每页显示记录数
(2)分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是limit
(3)如果查询的是第一页数据,起始索引可以省略,直接简写为limit10