我们都知道SQL语言共分为四大类:数据查询语言DQL,数据操纵语言DML,数据定义语言DDL,数据控制语言DCL。其中DQL也称为“数据检索语句”,用以从表中获得数据,确定数据怎样在应用程序给出。保留字SELECT是DQL(也是所有SQL)用得最多的动词,其他DQL常用的保留字有WHERE,ORDER BY,GROUP BY和HAVING。这些DQL保留字常与其它类型的SQL语句一起使用,共同构成了DQL查询语言的核心部分。本文我们就来聊一聊DQL查询语句。
下面我们就通过4个应用实例,来深入分析DQL查询语句。
1.排序
select 字段 from 表名 where 字段=值 order by 字段 asc|desc;
asc 升序
desc 降序
组合排序
select * from 表名 order by age desc ,math desc;
2.聚合函数
max(列名):求这一列的最大值
min(列名):求这一列的最小值
avg(列名):求这一列的平均值
count(列名):统计这一列有多少条记录
sum(列名):对这一列求总和
-- 查询学生总数
select count(id) as 总人数 from student;
select count(*) as 总人数 from student;
-- 查询年龄大于 20 的总数
select count(*) from student where age>20;
-- 查询数学成绩总分
select sum(math) 总分 from student;
-- 查询数学成绩平均分
select avg(math) 平均分 from student;
-- 查询数学成绩最高分
select max(math) 最高分 from student;
-- 查询数学成绩最低分
select min(math) 最低分 from student;
3.limit语句
LIMIT 是限制的意思,所以 LIMIT 的作用就是限制查询记录的条数。
LIMIT offset,length;
offset:起始行数,从 0 开始计数,如果省略,默认就是 0
length: 返回的行数
SELECT *|字段列表 [as 别名] FROM 表名 [WHERE 子句] [GROUP BY 子句][HAVING 子句][ORDER BY 子句][LIMIT 子句];
-- 查询学生表中数据,从第 3 条开始显示,显示 6 条。
select * from student3 limit 2,6;
-- 如果第一个参数是 0 可以省略写:
select * from student3 limit 5;
4.分组
分组查询是指使用 GROUP BY 语句对查询信息进行分组,相同数据作为一组
SELECT 字段 1,字段 2... FROM 表名 GROUP BY 分组字段 [HAVING 条件];
GROUP BY 怎么分组的?
将分组字段结果中相同内容作为一组,如按性别将学生分成 2 组。
-- 按性别进行分组,求男生和女生数学的平均分
select sex, avg(math) from student3 group by sex;
having 与 where 的区别
子名 作用
where 子句 1) 对查询结果进行分组前,将不符合 where 条件的行去掉,即在分组之前过滤数据,即先过滤
再分组。
2) where 后面不可以使用聚合函数
having 子句 1) having 子句的作用是筛选满足条件的组,即在分组之后过滤数据,即先分组再过滤。
2) having 后面可以使用聚合函数
事实上,DQL查询语句的用法远不止于此,我们除了要掌握DQL的基本结构是由SELECT子句,FROM子句,WHERE子句组成的查询块,还要学会DQL语句的标准语法,才能真正意义上掌握DQL查询语句。在本站的MySQL教程中,对其他类别的SQL查询语句也有详细的介绍,感兴趣的小伙伴可以前去观看学习,拓展新的知识领域。
MySQL作为目前最流行的关系型数据库管理系统之一,MySQL数据库有着许多的特性,在这些特性之中,有一些光彩夺目的高级特性,为MySQL数据库的强大功能实现贡献了不菲的力量,本文我们就来一起看看这11个MySQL高级特性。
SQL join 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。Join 和 Key有时为了得到完整的结果,我们需要从两个或更多的表中获取结果。我们就需要执行 join。下面我们一起来看看SQL的 7种join方式。
MySQL复制是指从一个mysql服务器(MASTER)将数据通过日志的方式经过网络传送到另一台或多台mysql服务器(SLAVE),然后在slave上重放(replay或redo)传送过来的日志,以达到和master数据同步的目的。MySQL复制属于比较成熟的技术,在MySQL数据库中得到广泛使用,下面我们一起来了解一下MySQL复制的优点。
外键约束是为了保持子表与父表的数据一致,用于在两个表之间建立关系,需要指定引用主表的哪一列。InnoDB是MySQL内置存储引擎中唯一一个支持外键的。InnoDB会强制外键使用索引。事实上,我们每次做DELETE 或者UPDATE都必须考虑外键约束,会导致开发的时候很痛苦,测试数据极为不方便。本文我们就来探讨一下MySQL外键约束的问题。
Git是一个开源的分布式版本控制系统,用于敏捷高效地处理任何或小或大的项目
jQuery是一个快速、简洁的JavaScript框架
Docker 是一个基于 Go 语言 并遵从 Apache2.0 协议开源的应用容器引擎,让开发者可以打包应用到一个可移植的镜像中
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境,它所提倡的是智能编码,是减少程序员的工作
Java SE(Java Platform, Standard Edition,Java标准版),基础进阶
Java SE(Java Platform, Standard Edition,Java标准版),零基础入门
动力节点在线报名表(此信息已加密,请放心填写)