DQL语句:
其中[]都是为了方便阅读,在实际中没有作用
DQL是数据查询语言,用来查询数据库中表的记录
查询关键字: SELECT
在一个正常的业务系统中,查询操作的频次是要远高于增删改的,当我们去访问企业官网、电商网站, 在这些网站中我们所看到的数据,实际都是需要从数据库中查询并展示的。而且在查询的过程中,可能 还会涉及到条件、排序、分页等操作。
基本语法
1.基本框架
SELECT 字段列表
FROM 表名列表
WHERE 条件列表
GROUP BY 分组字段列表
HAVING 分组后条件列表
ORDER BY 排序字段列表
LIMIT 分页参数
2.查询多个字段
select 字段1,字段2,字段3,...from 表名;
select *from 表名
3.设置别名
select 字段1[AS 别名一],字段2[AS 别名二]...from 表名
AS可以省略不写
4.去除重复记录
select distinct 字段列表 from 表名
一|条件查询
1.语法:select 字段列表 from 表名 where 条件列表
2.条件:
二 |聚合函数
介绍:将一列数据作为整体,进行纵向计算
语法
select 聚合函数 (字段列表) from 表名
注意null值是不参与所有聚合函数计算的
案例:select count (idcard) from employee 统计的是总记录数
三|分组查询
1.语法
select 字段列表 from 表名 [where 条件] group by 分组字段名[having 分组后过滤条件]
其中 where与having区别 执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组 之后对结果进行过滤。 判断条件不同:where不能对聚合函数进行判断,而having可以。
注意事项: • 分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。 • 执行顺序: where > 聚合函数 > having 。 • 支持多字段分组, 具体语法为 : group by columnA,columnB
案例:四|排序查询
排序查询在日常开发当中是非常常见的一个操作,有升序查询,还有降序查询
1.语法
select 字段列表 from 表名 order by 字段1 排序方式1,字段2 排序方式2;(支持多字段排序)
2.排序方式
ASC :升序 默认值
DESC :降序
注意:如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序
案例:
五|分页查询
分页操作在业务系统开发时,也是非常常见的一个功能,我们在网站中看到的各种各样的分页条,后台都需要借助数据库的分页操作
1.语法
select 字段列表 from 表名 limit 起始索引 ,查询记录数据;
注意事项:
1.起始索引从0开始,起始索引=(查询页码-1)*每页显示记录数
2.分页查询是数据库的方言,不同的数据库有不同的实现, MySQL中是limit
3.如果查询的是第一页的数据,起始索引可以省略,直接写 limit 10
案例:
执行顺序与编写顺序