使用如下数据表。 “学生”表:学号C(8),姓名C(8),性别C(2),系名(6) “课程”表:课程编号C(4),课程名称C(12),开课系名C(10) “成绩”表:学号c(8),课程编号C(4),成绩N(6,2) 检索每门课程

admin2012-12-03  22

问题 使用如下数据表。
    “学生”表:学号C(8),姓名C(8),性别C(2),系名(6)
    “课程”表:课程编号C(4),课程名称C(12),开课系名C(10)
    “成绩”表:学号c(8),课程编号C(4),成绩N(6,2)

检索每门课程的最高分,要求得到的信息包括课程名称、姓名和最高分,正确的SQL语句是(    )。

选项 A、SELECT课程.课程名称,学生.姓名,MAX(成绩).AS最高分
    FROM成绩,课程,学生
    wHERE成绩.课程编号=课程.课程编号
    AND成绩.学号=学生.学号
    GROUP BY课程编号
B、SELECT课程.课程名称,学生.姓名,MAX(成绩)AS最高分
    FROM成绩,课程,学生
    wHERE成绩.课程编号=课程.课程编号
    AND成绩.学号=学生.学号
    GROUP BY课程.课程编号
C、SELECT课程.课程名称,学生.姓名,MAX(成绩)AS.最高分
    FROM成绩,课程,学生
    WHERE成绩.课程编号=课程.课程编号
    AND成绩.学号一学生.学号
    ORDER BY课程.课程编号
D、SELECT课程.课程名称,学生.姓名,MAX(成绩)AS最高分
    FROM成绩,课程,学生
    wHERE成绩.课程编号=课程.课程编号
    AND成绩.学号=学生.学号
    ORDER BY课程.课程编号


答案B

解析 本题中首先通过GROUP BY短语将“课程”表中的记录按“课程编号”分绍.然后通过MAXO函数求出每组中的最高成绩,即每门课程的最高成绩。由于查询输出结果涉及多个表的字段,因此要使用连接查询,表之间的连接条件放在wHERE短语中,AND用来连接两个连接条件,以保证在查询的三个表之间建立联系。
转载请注明原文地址:https://kaotiyun.com/show/Smsp777K
0

最新回复(0)