【MySQL数据库】 - 复杂查询(二)

第一关:查询学生平均分

编程任务

本关任务:根据提供的表和数据,查询平均成绩小于60分的同学的学生编号(s_id)、学生姓名(s_name)和平均成绩(avg_score),要求平均成绩保留2位小数点。(注意:包括有成绩的和无成绩的,无成绩的 score = 0.00)

student表数据:

s_ids_names_sex
01Mia
02Riley
03Aria
04Lucas
05Oliver
06Caden
07Lily
08Jacob

course表数据:

c_idc_namet_id
01Chinese02
02Math01
03English03

teacher表数据:

t_idt_name
01张三
02李四
03王五
score表部分数据:
s_idc_id
0101
0102
0103
0201

代码实现

在这里插入图片描述

输出结果

1.±-----±-------±----------+
2.| s_id | s_name | avg_score |
3.±-----±-------±----------+
4.| 04 | Lucas | 33.33 |
5.| 06 | Caden | 32.50 |
6.| 08 | Jacob | 0.00 |
7.±-----±-------±----------+

第二关:查询修课相同学生信息

编程任务

本关任务:根据提供的表和数据,查询与s_id=01号同学学习的课程完全相同的其他同学的信息(学号s_id,姓名s_name,性别s_sex)。

代码实现

在这里插入图片描述

输出结果

1.±-----±-------±------+
2.| s_id | s_name | s_sex |
3.±-----±-------±------+
4.| 02 | Riley | 男 |
5.| 03 | Aria | 女 |
6.| 04 | Lucas | 女 |
7.±-----±-------±------+

第三关:查询各科成绩并排序

编程任务

本关任务:根据提供的表和数据,查询各科成绩,进行排序并显示排名,按学生编号(s_id)、课程编号(c_id)、学生成绩(s_score)和排名(rank)进行输出,具体效果请查看测试集。

代码实现

在这里插入图片描述

输出结果

1.±-----±-----±--------±-----+
2.| s_id | c_id | s_score | rank |
3.±-----±-----±--------±-----+
4.| 03 | 01 | 80 | 1 |
5.| 01 | 01 | 80 | 1 |
6.| 05 | 01 | 76 | 3 |
7.| 02 | 01 | 70 | 4 |
8.| 04 | 01 | 50 | 5 |
9.| 06 | 01 | 31 | 6 |
10.| 01 | 02 | 90 | 1 |
11.| 07 | 02 | 89 | 2 |
12.| 05 | 02 | 87 | 3 |
13.| 03 | 02 | 80 | 4 |
14.| 02 | 02 | 60 | 5 |
15.| 04 | 02 | 30 | 6 |
16.| 01 | 03 | 99 | 1 |
17.| 07 | 03 | 98 | 2 |
18.| 03 | 03 | 80 | 3 |
19.| 02 | 03 | 80 | 3 |
20.| 06 | 03 | 34 | 5 |
21.| 04 | 03 | 20 | 6 |
22.±-----±-----±--------±-----+

第四关:查询张老师课程成绩最高的学生信息

编程任务

本关任务:根据提供的表和数据,查询选修“张三”老师所授课程的学生中,成绩最高的学生信息(具体输出信息请查看测试说明)及其成绩。

代码实现

在这里插入图片描述

输出结果

1.±-----±-------±------±--------±-----±-------+
2.| s_id | s_name | s_sex | s_score | c_id | c_name |
3.±-----±-------±------±--------±-----±-------+
4.| 01 | Mia | 女 | 90 | 02 | Math |
5.±-----±-------±------±--------±-----±-------+

第五关:查询两门课程不及格同学信息

编程任务

本关任务:根据提供的表和数据,查询两门及其以上不及格课程的同学的学号(s_id)、姓名(s_name)及其平均成绩(avg_score),要求计算平均成绩后为整数。

代码实现

在这里插入图片描述

输出结果

1.±-----±-------±----------+
2.| s_id | s_name | avg_score |
3.±-----±-------±----------+
4.| 04 | Lucas | 33 |
5.| 06 | Caden | 33 |
6.±-----±-------±----------+

  • 6
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值