mysql题目(二)

这篇博客介绍了如何使用SQL查询各科目的平均分并按降序排列,同时展示了对应的科目教师。此外,还探讨了如何复杂地找出总分排名第二的学生及其得分。查询涉及到了子查询和自连接,虽然方法较为繁琐,但能有效获取所需信息。
摘要由CSDN通过智能技术生成

在这里插入图片描述

– 查询出各个课程对于的平均分,从高到低排序,并展示对应的科目老师
select avg(sc.score),course.Cname,teacher.Tname
from course,sc,teacher
where course.CNo=sc.CNo and course.Tno=teacher.TNo
group by course.Cname having avg(sc.score)
order by avg(sc.score) desc

– 查询总分排名第二的学生姓名和总分数
select * from
(select student.Sname as sname,SUM(sc.score) as sum_score from sc,student where sc.SNo=student.SNO group by student.Sname order by SUM(sc.score) desc) a
where
(select count(*) from
(select student.Sname as sname,SUM(sc.score) as sum_score from sc,student where sc.SNo=student.SNO group by student.Sname order by SUM(sc.score) desc) b
where a.sum_score<=b.sum_score)=2

跟部门绩效第二类似,自连接 使score进行大小对比,目前还没找到比较简便的写法
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值