SQL练习题求助

disbug 2019-10-26 04:56:49
图片依次是Student,StudentClass,Class三张表,题目如图。想法是查询到一个学号,再查询该学号对应的不同课程号和成绩,又查询每个课程号对应的平均分,将平均分返回对应课程号与学生得分进行比较,判断是都输出该学号下该生的该门成绩。但每查一个人都要查一次某些课程的平均分好像有些多余。
...全文
74 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
最后where写错了, where convert(float,sc.grade)>gra.avgGrae
  • 打赏
  • 举报
回复
1.先查出每个课程的平均分

select convert(float, sum(grade))/convert(float,count(grade)) as avgGrae,cno from studentclass group by cno
2.想办法吧这个结果加到select语句中

select s.sno,s.sname,c.cname,sc.grade from student s
inner join 
studentclass sc on s.sno=sc.sno
inner join 
class c on sc.cno=c.cno --到此为止是获取所有的数据,然后再连接查出的平均分
inner join
(select convert(float, sum(grade))/convert(float,count(grade)) as avgGrae,cno from #studentclass group by cno) gra
	on sc.cno=gra.cno
where convert(float,sc.cno)>gra.avgGrae --通过成绩列比平均分列大,来过滤数据
内容概要:本文详细介绍了计算机课程常见的课后习题类型及对应的学习资源。涵盖编程基础、数据结构与算法、计算机网络、操作系统以及数据库(SQL)五大领域。针对每个领域列举了典型习题示例,如编程基础中的斐波那契数列计算、数据结构里二叉树遍历、计算机网络的TCP三次握手过程、操作系统里的银行家算法模拟、数据库的SQL查询等。文中还提供了丰富的学习资源链接,包括在线平台(力扣、牛客网、SQLZoo)和经典教材(《C Primer Plus》《算法导论》《计算机网络:自顶向下方法》《现代操作系统》)。最后给出高效完成课后习题的建议,如理解理论、分步骤实现、善用工具(IDE、Wireshark)和讨论求助(Stack Overflow、CSDN)等。; 适合人群:正在学习计算机相关课程的学生,尤其是对编程、算法、计算机网络、操作系统和数据库感兴趣的初学者。; 使用场景及目标:①为学生提供各科目的典型习题和学习资源,帮助他们巩固所学知识;②指导学生如何高效地完成课后习题,提高学习效率和解决问题的能力。; 其他说明:本文提供的习题类型和资源具有广泛适用性,但若需要更具体的帮助,建议提供课程名称和习题内容或题目描述以便获得更有针对性的解答。

22,302

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧