t1 学生信息表
编号 姓名
t2 学生成绩表
编号 课程编号 学生编号 成绩
t3 课程信息表
编号 课程
select t1.* , t3.课程, t.成绩
from t1 left join (select min(编号) 编号, 课程编号, max(成绩) 成绩
from t2 group by 课程编号) t on t1.编号 = t.学生编号
left join t3 on t2.课程编号 = t3.编号
SELECT
TOP
1
学生信息表.学号
学生信息表.学生姓名
学生信息表.性别
学生成绩表.科目编号
学生成绩表.成绩
FROM
学生信息表
INNER
JOIN
学生成绩表
ON
学生信息表.学号=学生成绩表.学号
select 学号,姓名 from 学生表 where 学号 in
(select top 1 学号 from 学生成绩表 group by 课程号 order by 成绩 desc)
select aa.name,aa.sex,cla.classname,aa.sumscore from
(select stu.class_id,stu.name,stu.sex,a.sumscore from student stu
inner join
(select sc.stu_id,sum(sc.score) sumscore from score sc group by sc.stu_id order by sumscore desc) a
on stu.id = a.stu_id group by stu.class_id) aa
inner join class cla on cla.classid = aa.class_id;
mysql查询各班最高分学生的信息