问题:
[单选,材料题] 查询选修C2课程号的学生姓名,下列SQL,语句中错误的是( )。
第下面的题目基于学生表s和学生选课表SC两个数据库表,它们的结构如下:s(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段。
SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段(初始为空值)。
查询学生选修课程成绩小于60分的学号,正确的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.学号=SC. 学号WHERe课程号=’C2’
D . SELECt姓名FROM S WHERe学号=(SELECt学号FR()M SC WHERe课程号=’C2’)
正确答案:D
参考解析:D。【解析】选项D中的内查询SELECT学号FROM SC WHERe课程号=”C2”的查询结果有可能为多个,而选项D中的外层查询WHERe子句后面的逻辑表达式使用“=”,这样会导致产生错误的结果。



