mysql> select*from score; +-------------+--------+-------+-------+ | S_no | C_no | daily | final | +-------------+--------+-------+-------+ | 18122221320 | a01564 | 88 | 93 | | 18122221320 | c06108 | 92 | 90 | | 18122221320 | c08123 | 85 | 95 | | 18122221321 | c06108 | 70 | 82 | | 18122221321 | c08123 | 85 | 94 | | 18122221322 | a01327 | 53 | 50 | | 18122221322 | a01564 | 64 | 50 | | 18122221322 | c08123 | 60 | 64 | | 18122221323 | a01564 | 88 | 84 | | 18122221323 | c05103 | 85 | 86 | | 18122221324 | c05103 | 95 | 86 | | 18122221324 | c08123 | 77 | 81 | | 18122221325 | c05103 | 88 | 90 | +-------------+--------+-------+-------+ 13 rows in set (0.00 sec)(14)显示 score表数据。数据符合学生的总结业成绩大于275分的学生学号、总结业成绩及平均结业成绩的条件;
-
P粉955425168
-
2023-10-19
60浏览
从你给出的查询语句来看,你希望从score表中筛选出符合条件的学生的学号、总成绩以及平均成绩。你的查询语句是正确的,我会帮你分析一下。
查询语句:
select * from score;
这条语句将返回score表中的所有数据。
在接下来的条件中:
where 学生的总结业成绩大于275分
这个条件用于筛选出总结业成绩大于275分的学生。
为了获取符合条件的学生的学号、总成绩以及平均成绩,你需要再添加一条子查询,以从学生表中提取相关信息:
select student.s_no, score.final, (score.final + daily) / 2 as average
from score
inner join student on score.s_no = student.s_no
where score.final > 275;
在这个查询中,我使用了INNER JOIN将score表和student表进行了联接,连接条件是学生的学号(s_no)。查询的结果将会返回满足总结业成绩大于275分的学生的学号、总成绩(final)以及平均成绩(总成绩和平时成绩的和除以2)。请注意,平均成绩使用了别名average。
如果还有其他的需求或者对上述查询有任何疑问,欢迎随时向我提问。
php中文网 免责声明:以上内容除特别注明外均来源于网友提问,php中文网回答,权益归原著者所有;