本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成16年度 技術士第一次試験問題【専門科目】

W−25

リレーション商品 (商品番号, 価格)、自社製品 (商品番号, 工場) に対する以下のSQL文の結果のタプル数を次の中から選べ。

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

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

@ 0  A 1  B 2  C 3  D 4


類題

H26 V-14


正解

B


解説

SELECT 商品番号, 価格
 FROM 商品
 WHERE
NOT EXISTS
 (SELECT * FROM 自社製品
  WHERE 商品.商品番号=自社製品.商品番号)
は、

SELECT * FROM 自社製品
WHERE 商品.商品番号 = 自社製品.商品番号

によって、P1,東京 が選択されたタプル以外のものを商品テーブルから選択し、その商品番号と価格を選択する。という意味になる。

従って、P1以外の商品番号、つまり
 P2,300
 P3,200

の2組のタプルが選択される。

W−24 目次 W−26