先创建三个表 学生表、成绩表、科目表
1、查询单个科目成绩 结果如下图
select stu_id, score from score where subject_id = 1001;
2、查询学生总成绩 结果如下图
select stu_id, sum(score) sumscore from score group by stu_id order by sumscore desc
3、查询学生各科成绩和总成绩,在一张表上显示出来,总成绩高的在前
select a1.stu_id, a1.score '数学', a2.score '英语', a3.score '语文', b.sumscore '总成绩' from (select sc.stu_id,sc.score from score sc
where sc.subject_id=1001) a1
left join (select sc.stu_id, sc.score from score sc where sc.subject_id=1002)
a2 on a1.stu_id = a2.stu_id
left join (select sc.stu_id, sc.score from score sc where sc.subject_id=1003)
a3 on a1.stu_id = a3.stu_id
left join (select stu_id, sum(score) sumscore from score group by stu_id)
b on b.stu_id = a1.stu_id order by b.sumscore desc