问题 单项选择题

第31~35题基于学生表S和学生选课表SC两个数据库表,它们的结构如下:   S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段。   SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。

查询选修C2课程号的学生姓名,下列SQL语句中错误的是( )。

A.SELECT姓名FRoM S WHERE EXISTS

(SELECT*FROM SC WHERE学号=
S.学号AND课程号=’C2’)
B.SELECT姓名FROM S WHERE学号IN

(SELECT学号FROM SC WHERE课程号=’C2’)
C.SELECT姓名FROM S JOIN SC ON
S.学号=S
C.学号WHERE课程号=’C2’
D.SELECT姓名FROM S WHERE学号=

(SELECT学号FROM SC WHERE课程号=’C2’)

答案

参考答案:D

解析:【解析】选项D中的内查询SELECT学号FR()M SC wHERE课程号=”C2”的查询结果有可能为多个,而选项D中的外层查询WHERE子句后面的逻辑表达式使用“=”,这样会导致产生错误的结果。

单项选择题 A1/A2型题
多项选择题