過去問解きまくり研究所 ホーム

平成21年度 秋期 午前Ⅱ 問23

データベース

SQL文

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

納品

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

顧客

顧客番号顧客名
答えと解説を見る

✓ これが正解エSELECT 納品.顧客番号,納品.商品番号,納品.納品数量,顧客.顧客名 FROM 納品,顧客 WHERE 納品.顧客番号 = 顧客.顧客番号

解説

一致条件で結合し、共通の顧客番号を1列だけ取り出すSQLです。

自然結合は、二つの表に共通する列の値が等しい行どうしを結び付け、その共通の列は結果に1回だけ含める結合です。納品表と顧客表の共通の列は顧客番号なので、条件は 納品.顧客番号 = 顧客.顧客番号 となります。結果の列は、顧客番号、商品番号、納品数量、顧客名の四つで、顧客番号は一方の表からだけ取り出します。正解の SQL 文はこの条件で結合し、顧客番号を納品表の側から1列だけ選び、顧客名を加えています。見分ける軸は、結合条件が等号か、結果に共通の列が重複していないか、両方の表の列が含まれているかの三点です。等結合と自然結合の違いは、共通列が二重に出るかどうかだと覚えておくと迷いません。

ほかの選択肢はなぜ違うのか

出典:平成21年度 秋期 システムアーキテクト試験 午前Ⅱ 問23

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)