问题
单项选择题
下面两题基于“学生—选课—课程”数据库中的3个关系:
S(S#,SNAME,SEX,AGE),
SC(S#,C#,GRADE),
C(C#,CNAME,TEACHER),
它们的主码分别是S#、(S#,C#)、C#
若要查询“选修了课程号为C2的学生的学生号”,正确的表达是( )。
Ⅰ.S#(C#=’C2’(SC))
Ⅱ.C#=’C2’(S#(S))
Ⅲ.SELECT S#FROM SC WHERE C#=’C2’
A.仅Ⅰ和Ⅱ
B.仅Ⅱ和Ⅲ
C.仅Ⅰ和Ⅲ
D.都正确
答案
参考答案:C
解析: 对于Ⅱ执行的操作,首先在关系S中执行投影操作,只投影出属性S#,而接下来的选择操作的条件是C#=’C2’,由于对关系S的投影只投影出属性S#,所以该操作无法执行。故正确的是选项C。