一:DQL基本介绍
DQL英文全称是Data Query Language(数据查询语言),数据查询语言,用来查询数据库中表的记录。
二:基本语法
我们在讲解这部分内容的时候,会将上面的完整语法进行拆分,分为以下几个部分:
-
基本查询(不带任何条件)
-
条件查询(WHERE)
-
聚合函数(count、max、min、avg、sum)
-
分组查询(group by)
-
排序查询(order by)
-
分页查询(limit)
三:基础查询
查询多个字段
字段设置别名
去除重复记录
四:条件查询
4.1基础语法
4.2常用的比较运算符
常用的逻辑运算符
五:聚合函数
5.1介绍
将一列数据作为一个整体,进行纵向计算 。
5.2常见的聚合函数
5.3基础语法
注意 : NULL值是不参与所有聚合函数运算的。
六:分组查询
6.1基础语法
6.2where与having区别
-
执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组 之后对结果进行过滤。
-
判断条件不同:where不能对聚合函数进行判断,而having可以。
注意事项:
分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段无任何意义。
执行顺序: where > 聚合函数 > having 。
支持多字段分组, 具体语法为 : group by columnA,columnB
七:排序查询
排序在日常开发中是非常常见的一个操作,有升序排序,也有降序排序
基础语法
排序方式
ASC : 升序(默认值)
DESC: 降序
注意事项:
-
如果是升序, 可以不指定排序方式ASC ;
-
如果是多字段排序,当第一个字段值相同时,才会根据第二个字段进行排序 ;
八:分页查询
分页操作在业务系统开发时,也是非常常见的一个功能,我们在网站中看到的各种各样的分页条,后台 都需要借助于数据库的分页操作。
基础语法
注意事项:
• 起始索引从0开始,起始索引 = (查询页码 - 1)* 每页显示记录数。
• 分页查询是数据库的方言,不同的数据库有不同的实现,MySQL中是LIMIT。
• 如果查询的是第一页数据,起始索引可以省略,直接简写为 limit 10。