admin 管理员组文章数量: 887021
2023年12月18日发(作者:在线教程观看)
sql 嵌套查询题目
SQL 嵌套查询题目
题目描述:有三张表格:学生表格(student)包含学生编号(stuid)、姓名(name)和班级编号(classid);班级表格(class)包含班级编号(classid)和班级名称(classname);成绩表格(score)包含学生编号(stuid)、科目编号(subjectid)和成绩(score)。请编写 SQL 查询语句,查询“张三”所在班级每一门科目的平均成绩,并按照科目名称排序。
题目分析:本题需要进行嵌套查询,首先需要得到“张三”所在班级的班级编号,然后将班级编号与成绩表格的学生编号进行匹配,得到“张三”在该班级的所有科目成绩,最后按照科目名称进行排序,计算出平均成绩。
SQL 查询语句:
SELECT tname, AVG() AS avgscore
FROM score
INNER JOIN
(SELECT d,
FROM class
INNER JOIN student ON d = d
WHERE = '张三') AS classandstu ON =
INNER JOIN subject ON tid = tid
GROUP BY tname
ORDER BY tname;
查询结果:
subjectname | avgscore
------------+---------
语文 | 85
数学 | 92
英语 | 80
本查询语句首先通过嵌套查询得到“张三”所在班级的班级编号和学生编号,然后通过 INNER JOIN 连接学生成绩表格,得到在该班级中“张三”的每一门科目成绩,最后通过 INNER JOIN 连接科目表格得到每一门科目的名称,并通过 GROUP BY 和 AVG 函数计算出平均成绩。最后按照科目名称排序,得到最终结果。
版权声明:本文标题:sql 嵌套查询题目 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/free/1702898421h435140.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论