设有以下3个表: 学生表STUD(学号,姓名,性别,年龄,专业) 课程表KC(课程号,课程名,选修课号,学分) 学生选课表SC(学号,课程号,成绩) 查询选修了课程名为“数据结构”的学生的姓名的SELECT语句是______。
A.SELECT 姓名 FROM STUD;WHERE学号SELECT学号FROM SC WHERE 课程号IN;(SELECT课程号FROM KC WHERE 课程名=“数据结构”)
B.SELECT姓名FROM STUD;WHERE学号IN(SELECT学号FROM SC WHERE 课程号UNION;(SELECT 课程号 FROM KC WHERE 课程名=“数据结构”))
C.SELECT 姓名 FROM STUD;WHERESELECT课程号FROMKCWHERE课程名=“数据结构”
D.SELECT姓名FROM STUD;WHERE 学号 IN(SELECT 学号 FROM SC WHERE 课程号 IN; (SELECT课程号FROM KC WHERE 课程名=“数据结构”))
参考答案:D
解析: 要实现本题的查询要求,需使用嵌套查询。嵌套查询又称为子查询,它可以把一个SELECT- FROM-WHERE查询块嵌入在另一个查询块中。嵌套查询是由内向外进行的。在嵌套查询中,常用谓词IN引导子查询。选项A、B、C的语句不符合嵌套查询的语法结构,只有选项D正确。