数据表: 学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D)) 选课(学号(C,8),课程号(C,3),成绩(N,5,1)) 查询选修课程号为"007"课程得分最高的学生,正确的SQL语句是(   )。

admin2013-03-26  29

问题 数据表:
学生(学号(C,8),姓名(C,6),性别(C,2),出生日期(D))
选课(学号(C,8),课程号(C,3),成绩(N,5,1))
查询选修课程号为"007"课程得分最高的学生,正确的SQL语句是(       )。

选项 A、SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号
AND 课程号="007"AND 成绩>=ALL(SELECT 成绩 FROM 选课)
B、SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号
AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号="007")
C、SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号
AND 成绩>=ANY(SELECT 成绩 FROM 选课 WHERE 课程号="007")
D、SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND
课程号="007"AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号="007")

答案D

解析 所有选项都是通过嵌套查询来实现题目的要求,因此来看关键字:ALL要求子查询中的所有行结果为真,结果才为真;ANY只要子查询中有一行能使结果为真,则结果就为真。最高分应该为成绩>=ALL(…),要查询选课号为"007"的同学,所以内外查询中都要用到条件:课程号="007"。
转载请注明原文地址:https://kaotiyun.com/show/FAsp777K
0

最新回复(0)