"商品"表と"売上明細"表に対して,次の SQL 文を実行した結果の表として,
正しいものはどれか。 ここで,結果の表中の"-"は,値が空値(NULL)であるこ
とを示す。

  SELECT X.商品番号, 商品名, 数量
      FROM 商品 X LEFT OUTER JOIN 売上明細 Y
         ON X.商品番号 = Y.商品番号


  商品
┌────┬───┐
│商品番号│商品名│
├────┼───┤
│  S101  │  A   │
├────┼───┤
│  S102  │  B   │
├────┼───┤
│  S103  │  C   │
├────┼───┤
│  S104  │  D   │
└────┴───┘

  売上明細
┌────┬─────┬────┬──┬────┐
│売上番号│  売上日  │商品番号│数量│売上金額│
├────┼─────┼────┼──┼────┤
│  U001  │2004/02/10│  S101  │  5 │  7,500 │
├────┼─────┼────┼──┼────┤
│  U002  │2004/02/26│  S104  │  2 │  4,000 │
├────┼─────┼────┼──┼────┤
│  U002  │2004/02/26│  S101  │ 10 │ 15,000 │
├────┼─────┼────┼──┼────┤
│  U003  │2004/03/05│  S103  │  5 │  5,000 │
├────┼─────┼────┼──┼────┤
│  U003  │2004/03/05│  S104  │  8 │ 16,000 │
└────┴─────┴────┴──┴────┘
 ア
 ┌────┬───┬──┐
 │商品番号│商品名│数量│
 ├────┼───┼──┤
 │  S101  │  A   │  5 │
 ├────┼───┼──┤
 │  S101  │  A   │ 10 │
 ├────┼───┼──┤
 │  S102  │  B   │  - │
 ├────┼───┼──┤
 │  S103  │  C   │  5 │
 ├────┼───┼──┤
 │  S104  │  D   │  2 │
 ├────┼───┼──┤
 │  S104  │  D   │  8 │
 └────┴───┴──┘

 イ
 ┌────┬───┬──┐
 │商品番号│商品名│数量│
 ├────┼───┼──┤
 │  S101  │  A   │  5 │
 ├────┼───┼──┤
 │  S101  │  A   │ 10 │
 ├────┼───┼──┤
 │  S103  │  C   │  5 │
 ├────┼───┼──┤
 │  S104  │  D   │  2 │
 ├────┼───┼──┤
 │  S104  │  D   │  8 │
 └────┴───┴──┘

 ウ
 ┌────┬───┬──┐
 │商品番号│商品名│数量│
 ├────┼───┼──┤
 │  S101  │  A   │ 15 │
 ├────┼───┼──┤
 │  S102  │  B   │  - │
 ├────┼───┼──┤
 │  S103  │  C   │  5 │
 ├────┼───┼──┤
 │  S104  │  D   │ 10 │
 └────┴───┴──┘

 エ
 ┌────┬───┬──┐
 │商品番号│商品名│数量│
 ├────┼───┼──┤
 │  S101  │  A   │ 15 │
 ├────┼───┼──┤
 │  S103  │  C   │  5 │
 ├────┼───┼──┤
 │  S104  │  D   │ 10 │
 └────┴───┴──┘

■キーワード■ SQL, LEFT

■解答■
  テクニカルエンジニア(データベース)午前平成16年問32

 ア
 ┌────┬───┬──┐
 │商品番号│商品名│数量│
 ├────┼───┼──┤
 │  S101  │  A   │  5 │
 ├────┼───┼──┤
 │  S101  │  A   │ 10 │
 ├────┼───┼──┤
 │  S102  │  B   │  - │
 ├────┼───┼──┤
 │  S103  │  C   │  5 │
 ├────┼───┼──┤
 │  S104  │  D   │  2 │
 ├────┼───┼──┤
 │  S104  │  D   │  8 │
 └────┴───┴──┘

> テーブルの結合において
> 「LEFT OUTER JOIN」左表のデータを、すべて表示させる指定。
> 「INNER JOIN」   両方とも一致したデータのみ表示する。
> S102は左側の表にあり、右側の表にないので、結合表に項目として出力はされる
> が
> 右表にデータがないのでNULLとなる。
>
http://www.seshop.com/se/edu/shikaku/omo/miti/silver_miti26.asp?educat=silver2

 どうもありがとうございました。

> 初級シスアド掲示
> http://www.pursue.ne.jp/treebbs/0/106.html
> を参考にしました

 どうもありがとうございました。

> http://www.atmarkit.co.jp/fnetwork/rensai/sql06/sql1.html

 どうもありがとうございました。

                                                                                                                                              • -