问题
单项选择题
查询每门课程的最高分,要求得到的信息包括课程名称和分数。正确的命令是( )。
A) SELECT 课程名称,SUM(成绩) AS 分数 FROM 课程,学生成绩;
WHERE 课程.课程编号=学生成绩.课程编号;
GROUP BY 课程名称
B) SELECT 课程名称,MAX(成绩) 分数 FROM 课程,学生成绩;
WHERE 课程.课程编号=学生成绩.课程编号;
GROUP BY 课程名称
C) SELECT 课程名称,SUM(成绩) 分数 FROM 课程,学生成绩;
WHERE 课程.课程编号=学生成绩.课程编号;
GROUP BY 课程.课程编号
D) SELECT 课程名称,MAX(成绩) AS 分数 FROM 课程,学生成绩;
WHERE 课程.课程编号=学生成绩.课程编号;
GROUP BY 课程编号
答案
参考答案:B
解析: 本题考查使用MAX()函数构造SQL查询。使用SQL查询课程的最高分,可以用MAX()函数来实现。由于查询的是每门课程的最高分,所以需要按照课程名称进行分组,故选项B)正确。选项A)的错误在于查询结果由SUM(成绩)构成,是对分组后的成绩进行了求和,选项C)也是同样的错误,选项D)中分组的字段“课程编号”存在于两个表中,没有指明是按哪个表中的“课程编号”分组的。所以是错误的。