mysql复杂查询统计总成绩_2020-08-04MySQL复杂查询练习

该博客详细展示了如何使用MySQL进行复杂查询,包括获取学生部分成绩、统计总分、平均分、最高分和最低分,计算每门课及格学生数,查找特定学生、教师及其成绩,以及按条件筛选课程和教师。内容涵盖多表连接、聚合函数和分组查询等技巧。
摘要由CSDN通过智能技术生成

查询出所有学生的成绩,取3到5条记录

统计出所有学生的总成绩

统计出所有学生的平均成绩

统计出所有学生的最高成绩

统计出所有学生的最低成绩

统计出成绩表中共有多少条记录

统计每个学生的总成绩

统计每个学生的平均成绩

统计每个学生的最高成绩

统计每个学生的最低成绩

统计每门课及格的学生数

统计每门课都及格的学生编号

查询出名字叫周梅每门课的成绩

查询出李四教的所有学生

查询出李四老师教的课程的平均成绩

查询出每个老师教的课程的平均成绩

查询出每个老师教的学生人数

查询出选课人数不低于2人的课程和老师姓名

查询出总分最高的课程及老师姓名

查询平均成绩最高的学生姓名

答:

select * from sc limit 2,3 ;

select sum(score) from sc ;

select avg(score) from sc ;

select max(score) from sc ;

select min(score) from sc ;

select count(*) from sc ;

select sid,sum(score)

from sc group by sid ;

select sid,avg(score)

from sc group by sid ;

select sid,max(score)

from sc group by sid ;

select sid,min(score)

from sc group by sid ;

select cid,count(*)

from sc where score >= 60 group by cid ;

select sid

from sc group by sid having min(score) >= 60 ;

select s.sname,c.cname,s2.score from student s

inner join sc s2 on s.sid = s2.sid join course c on s2.cid = c.cid where s.sname = '周梅' ;

select s.sname

from student s

inner join sc s2 on s.sid = s2.sid

join course c on s2.cid = c.cid

join teacher t on c.tid = t.tid where t.tname = '李四' ;

select avg(score) from sc s

inner join course c on s.cid = c.cid

join teacher t on c.tid = t.tid

where tname = '李四' ;

select t.tname, avg(s2.score)from student s

join sc s2 on s.sid = s2.sid

join course c on s2.cid = c.cid

join teacher t on c.tid = t.tid group by t.tid ;

select t.tname, count(*)from student s

join sc s2 on s.sid = s2.sid

join course c on s2.cid = c.cid

join teacher t on c.tid = t.tid group by t.tid ;

select t.tname, count(*) from student s

join sc s2 on s.sid = s2.sid

join course c on s2.cid = c.cid

join teacher t on c.tid = t.tid group by t.tid having count(*) >= 2 ;

select c.cname,t.tname from sc a

inner join course c on a.cid = c.cid

inner join teacher t on c.tid = t.tid

group by c.cid order by sum(a.score) desc limit 1;

select s.sname from student s

inner join sc a on s.sid = a.sid

group by s.sid order by avg(a.score) desc limit 1;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值