リレーション商品 (商品番号, 価格)、自社製品 (商品番号, 工場) に対する以下の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
B
SELECT 商品番号, 価格
FROM 商品
WHERE NOT EXISTS
(SELECT * FROM 自社製品
WHERE 商品.商品番号=自社製品.商品番号) は、
SELECT * FROM 自社製品
WHERE 商品.商品番号 = 自社製品.商品番号
によって、P1,東京 が選択されたタプル以外のものを商品テーブルから選択し、その商品番号と価格を選択する。という意味になる。
従って、P1以外の商品番号、つまり
P2,300
P3,200
の2組のタプルが選択される。
W−24 | 目次 | W−26 |