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

设供应商供应零件的关系模式为SP(Sno, Pno, Qty),其中Sno表示供应商号,Pno表示零件号,Qty表示零

题目

设供应商供应零件的关系模式为SP(Sno, Pno, Qty),其中Sno表示供应商号,Pno表示零件号,Qty表示零件数量。查询至少包含了供应商“168”所供应的全部零件的供应商号的SQL语句如下:

SELECT Sno

FROM SP SPX

WHERE (1)

(SELECT *

FROM SP SPY

WHERE (2) AND NOT EXISTS

(SELECT *

FROM SP SPZ

WHERE (3)));

A.EXISTS

B.NOT EXISTS

C.IN

D.NOT IN

参考答案
正确答案:B
解析:问题要求的是至少包含了供应商“168”所供应的全部零件的供应商号。可以分解成 2个否定形式:不存在这样的供应商;168号选了的商品,该供应商没有选择。
  根据以上分解,显然,(1)空选择否定的表达,而IN/NOT IN的一般用法为:
  SELECT *
    FROM table_name1
    WHERE column1 IN/NOT IN
     (SELECT column1
       FROM table_name2
       WHERE conditions);
  也就是说,IN后面接的是一个集合,且前面有列名column1。
  EXISTS/NOTEXISTS指是否存在,一般用法为:
  SELECT *
    FROM table_name1
    WHERE EXISTS/NOT EXISTS
      (SELECT *
        FROM table_name2
        WHERE conditions);