在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
DQL查询语句又叫数据库查询语句,这是Java学习者在学习MySQL时,必须了解和掌握的知识点之一。众所周知,DQL查询语句有四种查询方式:排序查询、聚合函数、分组查询和分页查询。下面让我们一一仔细梳理这四种查询方式,有需要学习的小伙伴赶紧来看看MySQL学习总结之DQL查询语句的知识点吧!
1、排序查询
(1)语法:order by 子句
order by 排序字段1 排序方式1 , 排序字段2 排序方式2...
(2)排序方式:
ASC:升序,默认的。
DESC:降序。
(3)注意:
如果有多个排序条件,则当前边的条件值一样时,才会判断第二条件。
2、聚合函数:将一列数据作为一个整体,进行纵向的计算。
(1)count:计算个数
一般选择非空的列:主键
count(*)
(2)max:计算最大值
(3)min:计算最小值
(4)sum:计算和
(5)avg:计算平均值
注意:聚合函数的计算,排除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课程的试听体验,相信一定不会让大家失望。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
Java基础 HashMap、HashSet、HashTable的区别是什么?
HashMap、HashSet、HashTable的区别:继承的父类不同、线程安全性不同、是否提供 contains 方法、**key 和 value 是否允许 null 值 、哈希值的计算方法不同、内部实现使用的数组初始化和扩容方式不同。
9702
2019-06-03 16:13:08
Java基础学习:面向过程与面向对象
刚开始学编程的时候都会遇到一个思维转变的过程,从原来人类思维模式转变成机器可以接受的思维模式。这个过程是非常难的,这也是为什么互联网人才能够获得高薪的原因。对于Java学习,面向过程可能更接近人的正常思维,而面向对象思维就是一个巨大的挑战了。本文就和大家聊一聊关于面向过程和面向对象的优劣。
7039
2019-06-24 18:35:01
面向对象是什么?有哪些特征?
提起Java,大家都知道它是一门典型的面向对象的编程语言。但是对于面向对象,可能还有许多人并不清楚。那么面向对象是什么?有哪些特征呢?本文就来带大家好好认识一下面向对象。面向对象是一种软件的开发方法,它的特征归纳起来就是三点,即封装、继承和多态。下面是关于面向对象的深入介绍:
5299
2019-10-31 10:10:10
如何用Java查询个人信息?代码怎么写?
如何用Java查询个人信息?编程写好相应的规则,按照规则执行,在一定程度上大大提高了工作效率,在我们生活中的应用无处不在,当你面临公司大量的人员数据如何准确查询处理你想要的数据呢?
7811
2020-02-11 17:13:36
Java面试之数据库知识点复习
数据库一直都是Java面试中的重点考察项目,本文为大家整理出来了常见的数据库知识点,内容主要有select语句完整的执行顺序、SQL之聚合函数、SQL之连接查询、SQL之sql注入、Mysql性能优化、MySQL 中文乱码问题完美解决方案。
5726
2020-05-04 14:24:56