平成21年 秋期 システムアーキテクト 午前II 問23

“納品”表と“顧客”表を自然結合するSQL文はどれか。

納品
顧客番号 商品番号 納品数量
顧客
顧客番号 顧客名

 ア  SELECT *
   FROM 納品, 顧客
   WHERE 納品.顧客番号 = 顧客.顧客番号
 イ  SELECT 顧客.顧客番号, 納品.商品番号, 納品.納品数量, 顧客.顧客名
   FROM 納品, 顧客
   WHERE 納品.顧客番号 <> 顧客.顧客番号
 ウ  SELECT 顧客.顧客番号, 納品.商品番号, 納品.納品数量
   FROM 納品
   WHERE 納品.顧客番号 IN (SELECT 顧客番号 FROM 顧客)
 エ  SELECT 顧客.顧客番号, 納品.商品番号, 納品.納品数量, 顧客.顧客名
   FROM 納品, 顧客
   WHERE 納品.顧客番号 = 顧客.顧客番号


答え エ


解説
“納品”表と“顧客”表で同じ名前の列は「顧客番号」であるので、2つの表を顧客番号で比較し、一致した行を

顧客番号 商品番号 納品数量 顧客名
顧客番号 顧客名 商品番号 納品数量
のように出力すればいいので、これを実現するSQL文としては
 SELECT 顧客.顧客番号, 納品.商品番号, 納品.納品数量, 顧客.顧客名
    FROM 納品, 顧客
    WHERE 納品.顧客番号 = 顧客.顧客番号
(エ)になる。


キーワード
・自然結合

キーワードの解説
  • 自然結合
    指定された複数の表の同じ名前の列の値を比較し、値が一致する行を出力する処理です。

もっと、「自然結合」について調べてみよう。

戻る 一覧へ 次へ