单选题
设供应商供应零件的关系模式为SP(Sno,Pno,Qty),其中Sno表示供应商号,Pno表示零件号,Qty表示零件数量。查询至少包含了供应商“168”所供应的全部零件的供应商号的 SQL语句如下: SELECT Sno FROMSP SPX WHERE (37) (SELECT* FROM SP SPY WHERE (38) ANDNOTEXISTS (SELECT* FROM SP SPZ WHERE (39) ));
单选题
A.SPZ.Sno=SPY.Sno AND SPZ.Pno=SPY.Pno B.SPZ.Sno=SPX.Sno AND SPZ.Pno=SPX.Pno C.SPZ.Sno=SPX.Sno AND SPZ.Pno=SPY.Pno D.SPY.Sno<>'168' AND SPZ.Pno=SPY.Pno
【正确答案】
C
【答案解析】[解析] 题目要求的是至少包含了供应商“168”所供应的全部零件的供应商号,可以分解成两个否定形式:不存在这样的供应商,168号选了的商品,该供应商没有选择。 根据以上的分解,显然第一空选择否定的表达,而IN/NOT IN的一般用法为 SELECT * FROM table_name1 WHERE column1 IN/NOT IN (SELECT column1 FROM table_name2 WHERE conditions); 也就是说,IN后面接的是一个集合,且前面有列名column1。 EXISTS/NOT EXISTS指是否存在,一般用法为: SELECT * FROMtable_name1 WHEREEXISTS/NOTEXISTS (SELECT* FROMtable_name2 WHERE conditions);