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

admin2005-03-15  80

问题 设供应商供应零件的关系模式为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);
转载请注明原文地址:https://kaotiyun.com/show/8oxZ777K
0

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