MySQL DQL查询语句的四种查询方法

2024-03-14,,

DQL查询语句又叫数据库查询语句,这是Java学习者在学习MySQL时,必须了解和掌握的知识点之一。众所周知,DQL查询语句有四种查询方式:排序查询、聚合函数、分组查询和分页查询。下面让我们一一仔细梳理这四种查询方式,有需要学习的小伙伴赶紧来看看MySQL学习总结之DQL查询语句的知识点吧!

  

1、排序查询

 

1)语法:order by 子句

 

order by 排序字段1 排序方式1   排序字段2 排序方式2...

 

2)排序方式:

 

ASC:升序,默认的。

 

DESC:降序。

 

3)注意:

 

如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。

 

2、聚合函数:将一列数据作为一个整体,进行纵向的计算。

 

1count:计算个数

 

一般选择非空的列:主键

 

count(*)

 

2max:计算最大值

 

3min:计算最小值

 

4sum:计算和

 

5avg:计算平均值

 

注意:聚合函数的计算,排除null值。

 

解决方案:选择不包含非空的列进行计算;IFNULL函数。

 

3、分组查询:

 

1)语法:group by 分组字段。

 

2)注意:分组之后查询的字段:分组字段、聚合函数

 

(3)where having 的区别?

 

where 在分组之前进行限定,如果不满足条件,则不参与分组。having在分组之后进行限定,如果不满足结果,则不会被查询出来;where 后不可以跟聚合函数,having可以进行聚合函数的判断。

 

-- 按照性别分组。分别查询男、女同学的平均分

 

SELECT sex , AVG(math) FROM student GROUP BY sex;

 

-- 按照性别分组。分别查询男、女同学的平均分,人数

 

SELECT sex , AVG(math),COUNT(id) FROM student GROUP BY sex;

 

--  按照性别分组。分别查询男、女同学的平均分,人数 要求:分数低于70分的人,不参与分组

 

SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex;

 

--  按照性别分组。分别查询男、女同学的平均分,人数 要求:分数低于70分的人,不参与分组,分组之后。人数要大于2个人。

 

SELECT sex , AVG(math),COUNT(id) FROM student WHERE math > 70 GROUP BY sex HAVING COUNT(id) > 2;

 

SELECT sex , AVG(math),COUNT(id) 人数 FROM student WHERE math > 70 GROUP BY sex HAVING 人数 > 2;

 

4. 分页查询

 

(1)语法:limit 开始的索引,每页查询的条数;

 

(2)公式:开始的索引 = (当前的页码 - 1 * 每页显示的条数

 

-- 每页显示3条记录

 

SELECT * FROM student LIMIT 0,3; -- 1

 

SELECT * FROM student LIMIT 3,3; -- 2

 

SELECT * FROM student LIMIT 6,3; -- 3

 

(3)limit 是一个MySQL"方言"

 

关于MySQL学习总结之DQL查询语句的内容就讲到这里了,相信大家对于四种查询方式已经了解的差不多了。要想学习了解更多MySQL相关的知识点,可以上本站进行Java课程的试听体验,相信一定不会让大家失望。

《MySQL DQL查询语句的四种查询方法.doc》

下载本文的Word格式文档,以方便收藏与打印。