问题 单项选择题

设有如下说明,请回答(32)~(35)小题:
第(32)~(35)题使用如下3个表:
学生.DBF:学号C(8),姓名C(12),性别C(2),出生日期D,院系C(8)
课程.DBF:课程编号C(4),课程名称C(10),开课院系C(8)
学生成绩.DBF:学号C(8),课程编号C(4), 成绩I

查询每门课程的最高分,要求得到的信息包括课程名称和分数。正确的命令是( )。

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

解析: 使用SQL语句查询课程的最高分,可以用MAX()函数来实现。由于查询的是每门课程的最高分,所以需要按照课程名称进行分组,故选项B正确。选项A的错误在于,查询结果由SUM(成绩)构成,是对分组后的成绩进行了求和,选项C也是同样的错误。选项D错误在于,AS子句后只有一个字段名,而查询结果字段有两个,无法匹配,也是错误的。

选择题
单项选择题