假设供应商S和供应情况SPJ的关系模式分别为S(Sno,Sname,Status,City)和SPJ(Sno,Pno,Jno,Qty)。SQL语句(25)不能正确地查询出“零件号Pno等于’P3’的供应商名Sname",而(26)能正确查询的关系代数表达式

admin2009-02-15  44

问题 假设供应商S和供应情况SPJ的关系模式分别为S(Sno,Sname,Status,City)和SPJ(Sno,Pno,Jno,Qty)。SQL语句(25)不能正确地查询出“零件号Pno等于’P3’的供应商名Sname",而(26)能正确查询的关系代数表达式。

选项 A、SELECT DISTINCT Sname    FROM S    WHERERE 0 <(SELECT COUNT( *)FROM SPJ WHERE S. Sno = SPJ. Sno    AND SPJ. Pno = ’P3’)
B、SELECT DISTINCT Sname    FROM S    WHERE EXISTS(SELECT * FROM SPJ WHERE S. Sno=SPJ. Sno    AND SPJ. Pno= ’P3’)
C、SELECT Sname     FROM S     WHERE EXISTS( SELECT * FROM SPJ WHERE S. Sno = SPJ. Sno AND SPJ. Pno = ’P3’)
D、SELECT Sname     FROM S, SPJ     WHERE S. Sno = SPJ. Sno AND SPJ. Pno = ’P3’     GROUP BY Sname

答案C

解析 (25)题中C选项没有使用关键字DISTINCT,因而是不正确的。(26)题中A项对S进行了投影操作,无法完成自然连接;C、D项是等价的关系代数表达式,它们在供应商同时供应“P3”零件和其他零件的情况下,无法得到正确的结果。
转载请注明原文地址:https://jikaoti.com/ti/GWW7FFFM
0

相关试题推荐
最新回复(0)