问题 单项选择题

第(34)~(35)题使用如下三个数据库表:
学生表:S(学号,姓名,性别,出生日期,院系)
课程表:C(课程号,课程名,学时)
选课成绩表:SC(学号,课程号,成绩)
在上述表中,出生日期数据类型为日期型,学时和成绩为数值型,其他均为字符型。

用SQL命令查询选修的每门课程的成绩都高于或等于85分的学生的学号和姓名,正确的命令是

A.SELECT 学号,姓名 FROM S WHERE NOT EXISTS;
(SELECT*FROM SC WHERE SC.学号=S.学号 AND 成绩<85)

B.SELECT 学号,姓名FROM S WHERE NOT EXISTS;
(SELECT*FROM SC WHERE SC.学号=S.学号AND成绩>=85)

C.SELECT学号,姓名FROM S,SC
WHERE S.学号=SC.学号 AND成绩>=85

D.SELECT 学号,姓名 FROM S,SC
WHERE S.学号=SC.学号AND ALL成绩>=85

答案

参考答案:A

解析: 本题属于多表查询,使用联接查询和嵌套查询,选项c、D使用联接查询,使用时每个字段前要表明所属的表,C、D写法都不完整;选项A、B使用嵌套查询,NOT EXISTS表示将括号内SELECT查询条件取反,故选项A为正确答案。

选择题
单项选择题