早教吧 育儿知识 作业答案 考试题库 百科 知识分享
早教吧考试题库频道 --> 计算机类考试 -->软考中级 -->

设有两个关系R(A,B)和S(B,C),与下列SELECT语句 SELECTA,B FROM R WHEREBNOTIN(SELECTBFROMSWHERE

题目

设有两个关系R(A,B)和S(B,C),与下列SELECT语句

SELECT A,B

FROM R

WHERE B NOT IN(SELECT B

FROM S

WHERE C=‘C56’);

等价的关系代数表达式是(36)。

A.

B.

C.

D.

参考答案
正确答案:C
解析:先对照语句细想其对应的代数表达式应该是什么样的,应该是先让A和B作连接运算,再选出C='C56'的元组在A、B上进行投影得到一个集合,然后因为要与“BNOTIN”对应,所以再用总体R减去此集合就可以了。与这个语义相同的只有C。再一个个分析答案,A选项中虽然有条件C≠'C56',但是C≠'C56'B寸的B值有可能会包含C='C56'时的B值,所以不能选;同理B选项也不能选;D选项将C≠'C56'的元组去掉也是错误的。