基于学生表S和学生选课表SC两个数据库表,它们的结构如下: S(学号,姓名,性别,年龄),其中学号、姓名和性别为C型字段,年龄为N型字段; SC(学号,课程号,成绩),其中学号和课程号为C型字段,成绩为N型字段。 查询同时选修课程号分别为2001和2005课程的学生的学号,正确的命令是( )。
A、SELECT学号FROM SC WHERE课程号='2001'AND学号IN(SELECT学号FROM SC WHERE课程号='2005’)
B、SELECT学号FROM SC WHERE课程号='2001'AND学号=(SELECT学号FROM SC WHERE课程号='2005’)
C、SELECT学号FROM SC WHERE课程号='2001'AND课程号='2005'
D、SELECT学号FROM SC WHERE课程号='2001'OR'2005'
查看答案
正确答案
试题解析
嵌套查询所要求的结果出自一个关系,但相关的条件却涉及多个关系。其内层基本上也是一个SE. LECT—FROM—WHERE查询语句。简单嵌套查询可使用谓词IN或NOT IN来判断外层的查询条件中是否包含内层查询的结果。本题要查询同时选修2001和2005号课程的学生的学号,外层查询包含了内层查询的结果。故本题答案为A。