MySQL数据库-单表查询(三)
第1关:对查询结果进⾏排序
任务描述
本关任务:以成绩的降序显⽰学⽣成绩表中所有信息。
相关知识
为了完成本关任务,你需要掌握:
结果排序的关键字;
指定排序⽅向的关键字。
对查询结果排序
我们知道在MySQL中从数据表中读取数据都是使⽤SELECT语句。
如果我们需要对读取的语句进⾏排序,我们就可以使⽤Order By⼦句来设定你想要按照的字段进⾏排序并返回结果。语法:
移动端webapp是什么
SELECT 字段名 FROM 表名 ORDER BY 字段名 [ASC[DESC]];
你还可以根据⾃⼰的需求添加WHERE、LIKE⼦句来设置条件,再对结果过进⾏排序显⽰。mysql语句多表查询
现有user表数据如下:
我们需要查询表中信息,要求按照年龄的升序进⾏排序:
指定排序⽅向
从上⾯的查询语句中我们并未看到有任何表⽰排序⽅向的关键字,在默认情况下,它是按升序排列的。
ASC 升序关键字
DESC 降序关键字
structure construction编程要求
在右侧编辑器Begin-End处补充代码,查询学⽣成绩表中1班同学的所有信息并以成绩降序的⽅式显⽰结果。
我们已经为你提供了学⽣成绩表:
tb_score表数据:
| stu_id | class_id | name | score |
| :————: | :————: | :————: |
| 1 | 2 | Jack | 81 |
| 2 | 1 | David | 74 |
| 3 | 1 | Mason | 92 |
| 4 | 2 | Ethan | 89 |
| 5 | 1 | Gina | 65 |
| 5 | 1 | Gina | 65 |
测试说明
平台会对你编写的代码进⾏测试:
预期输出:
stu_id class_id name score
3 1 Mason 92
2 1 David 74
5 1 Gina 65
开始你的任务吧,祝你成功!
参考代码:
USE School;
#请在此处添加实现代码
>> Begin >>
>> 查询1班同学的所有信息以成绩降序的⽅式显⽰结果 >> select * from tb_score where class_id = 1 order by score desc;
>> End >>
第2关:分组查询
任务描述
本关任务:对班级表中的班级名称进⾏分组查询。
相关知识
为了完成本关任务,你只需要掌握分组查询的单独使⽤。
但是在实际开发中⼀般不会⽤到,本章节只作为对分组查询的了解。往后继续学习,我们会介绍分组查询与其他查询⼀起结合使⽤。
分组查询的单独使⽤
分组查询的关键字是Group By,查询的是每个分组中 ⾸次出现的⼀条记录。
语法:
SELECT 字段名 FROM 表名 GROUP BY 字段名;
例如:
现有user表数据:
我们对表中数据的性别进⾏分组查询:
matlab画图加网格线
可以看出,返回了3条记录,分别是sex字段值为Null、⼥、男的记录,查询结果按照sex字段中不同的值进⾏了分类,只显⽰每个分组中的⼀条记录,意义不⼤,⼀般情况下,GROUP BY都和聚合函数⼀起使⽤。
编程要求
在右侧编辑器Begin-End处补充代码,对班级表中的班级名称进⾏分组查询。
我们已经为你提供了班级表信息:
tb_class表数据:皮皮虾导航网站
测试说明
平台会对你编写的代码进⾏测试:
预期输出:
stu_id class_id name
2 366 David
1 367 Jack
开始你的任务吧,祝你成功!
参考代码:
USE School;
#请在此处添加实现代码
>> Begin >>
>> 对班级名称进⾏分组查询 >>
SELECT * FROM tb_class GROUP BY class_id;
>> End >>
第3关:使⽤ LIMIT 限制查询结果的数量
任务描述
本关任务:使⽤LIMIT关键字查询班级中第2名到第5名的学⽣信息,并根据学⽣成绩进⾏降序排序。
相关知识
为了完成本关任务,你需要掌握:LIMIT的基本使⽤。
LIMIT的使⽤
在我们查询⼤量数据结果时,会返回很多条数据,有需要的记录可能就其中的⼀条或者⼏条。⽐如,实现分页功能,若每页显⽰10条记录,每次查询就只需要10条记录。
在MySQL中,提供了LIMIT关键字,⽤来限制查询结果的数量。
语法:
SELECT 字段名 FROM 表名 LIMIT [OFFSET,] 记录数;
参数说明:
第⼀个参数,OFFSET,可选参数,表⽰偏移量,如果不指定默认值为0,表⽰从查询结果的第⼀条记录开始,若偏移量为1,则从查询结果中的第⼆条记录开始,以此类推。
第⼆个参数,记录数,表⽰返回查询结果的条数。
现有employee表数据如下:
查询employee表中前4条数据:
find函数与search函数有什么不同从第⼆条记录开始往后查看4条数据(不包含第⼆条):
编程要求
在右侧编辑器Begin-End处补充代码,查询班级中第2名到第5名的学⽣信息,并根据学⽣成绩进⾏降序排序。
我们已经为你提供了学⽣成绩表:
tb_score表数据:
测试说明
平台会对你编写的代码进⾏测试:
预期输出:
id name score
4 Ethan 93
8 Alice 91
1 Jack 89
7 kain 86
开始你的任务吧,祝你成功!
参考代码:
USE School;
#请在此处添加实现代码
>> Begin >>
>> 查询班级中第2名到第5名的学⽣信息 >> SELECT * FROM tb_score order by score desc LIMIT 1,4;
>> End >>

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。

发表评论