日期:2014-05-18  浏览次数:20391 次

查询
学生表S
学号 Sno  
姓名 Sname

课程信息表C
课程号 Cno
课程名 Cname

学生成绩表SC
学号 Sno
课程号 Cno
成绩 Score

查询每门课程的最高成绩、最低成绩的学生姓名及分数

------解决方案--------------------
Student(S#,Sname,Sage,Ssex) 学生表

Course(C#,Cname,T#) 课程表

SC(S#,C#,score) 成绩表

SQL code

SELECT L.C# As 课程ID,L.score AS 最高分,R.score AS 最低分

    FROM SC L ,SC AS R 

    WHERE L.C# = R.C# and 

        L.score = (SELECT MAX(IL.score) 

                      FROM SC AS IL,Student AS IM 

                      WHERE L.C# = IL.C# and IM.S#=IL.S# 

                      GROUP BY IL.C#) 

        AND 

        R.Score = (SELECT MIN(IR.score) 

                      FROM SC AS IR 

                      WHERE R.C# = IR.C# 

                  GROUP BY IR.C#