• ベストアンサー

12年秋 午後 問5 設問1

本題とは関係ないのですが 問題の中で以下の表現があります ------------------------------------------------------------ 例 SELECT 受注明細表.受注番号, 顧客名, SUM(注文数量*単価)   FROM 受注明細表, 顧客表, 商品表, 注文表   WHERE 顧客表.顧客コード = 注文表.顧客コード   AND 受注明細表.商品番号 = 商品表.商品番号   AND 受注明細表.受注番号 = 注文表.受注番号 ------------------------------------------------------------- ここで受注明細表.受注番号 = 注文表.受注番号 の比較は なにも絞り込んでいるのでしょうか? 必要性が理解できません

質問者が選んだベストアンサー

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.1

結合しなきゃ,その明細がどの注文票に記録された行か分からないので。 顧客表 | |顧客コードが同じ行を結合 ↓ 注文表 | |受注番号が同じ行を結合 ↓ 受注明細表 ↑ |商品番号が同じ行を結合 | 商品表

C_is_Best
質問者

お礼

確かに 関係づけには必要であることが納得できました もしこの行がないとするとSUM(注文数量*単価) が計算できないということが理解できました 訓練ですね

その他の回答 (1)

  • ymmasayan
  • ベストアンサー率30% (2593/8599)
回答No.2

No.1の方の回答の通り4つの表の該当行同士を結びつけるのに3つの比較を持つWHERE文を使っています。 別の考え方として4つの表の各行数の積の行数文の連結行を作ってその中からWHERE文に合致する行のみをSELECTするという風に見ることもできます。

関連するQ&A