平成26年度 技術士第一次試験問題【専門科目】
【16】情報工学部門
V−14
“商品”表及び“自社製品”表に対して、次のSQL文を実行した結果、得られる行数は
どれか。 ここで、表の見出しの下線は主キーを表す。


  商品            自社製品
 ┌────┬─────┐  ┌────┬────┐
 │商品番号│ 価 格 │  │商品番号│ 工場 │
 ├────┼─────┤  ├────┼────┤
 │ P1 │ 100 │  │ P1 │ 東京 │
 ├────┼─────┤  └────┴────┘
 │ P2 │ 300 │
 ├────┼─────┤
 │ P3 │ 200 │
 └────┴─────┘


 【SQL文】
  SELECT 商品番号, 価格
   FROM 商品
   WHERE NOT EXISTS
     (SELECT *
     FROM 自社製品
     WHERE 商品.商品番号 = 自社製品.商品番号)

 @ 0  A 1  B 2  C 3  D 4



【正解】 B
まず、
SELECT * FROM 自社製品
WHERE 商品.商品番号 = 自社製品.商品番号

によって選択されるレコードは
 P1 東京
である。

だから、
WHERE NOT EXISTS
 (SELECT *
 FROM 自社製品
 WHERE 商品.商品番号 = 自社製品.商品番号)


によって選択されるレコードは、主キーが P1でないレコード、
すなわち P2、P3である。
P2、P3がキーのレコードを“商品”表から選択することになるため、

得られるレコードは
 P2 300
 P3 200
で、2行である。


EXCELのマクロのご相談なら ファーストマクロ 



V−13 目次 V−15
ファーストマクロ TOPページ