令和6年度 秋期 午前Ⅱ 問9
データ操作
商品番号で等結合した結果
“商品”表と“納品”表を商品番号で等結合した結果はどれか。
商品
| 商品番号 | 商品名 | 価格 |
|---|---|---|
| S01 | ボールペン | 150 |
| S02 | 消しゴム | 80 |
| S03 | クリップ | 200 |
納品
| 商品番号 | 顧客番号 | 納品数 |
|---|---|---|
| S01 | C01 | 10 |
| S01 | C02 | 30 |
| S02 | C02 | 20 |
| S02 | C03 | 40 |
| S03 | C03 | 60 |
選択肢は原典では結果の表。各肢の表を次に書き写す。
アの表
| 商品番号 | 商品名 | 価格 | 顧客番号 | 納品数 |
|---|---|---|---|---|
| S01 | ボールペン | 150 | C01 | 10 |
| S02 | 消しゴム | 80 | C02 | 20 |
| S03 | クリップ | 200 | C03 | 60 |
イの表
| 商品番号 | 商品名 | 価格 | 商品番号 | 顧客番号 | 納品数 |
|---|---|---|---|---|---|
| S01 | ボールペン | 150 | S01 | C01 | 10 |
| S02 | 消しゴム | 80 | S02 | C02 | 20 |
| S03 | クリップ | 200 | S03 | C03 | 60 |
ウの表
| 商品番号 | 商品名 | 価格 | 顧客番号 | 納品数 |
|---|---|---|---|---|
| S01 | ボールペン | 150 | C01 | 10 |
| S01 | ボールペン | 150 | C02 | 30 |
| S02 | 消しゴム | 80 | C02 | 20 |
| S02 | 消しゴム | 80 | C03 | 40 |
| S03 | クリップ | 200 | C03 | 60 |
エの表
| 商品番号 | 商品名 | 価格 | 商品番号 | 顧客番号 | 納品数 |
|---|---|---|---|---|---|
| S01 | ボールペン | 150 | S01 | C01 | 10 |
| S01 | ボールペン | 150 | S01 | C02 | 30 |
| S02 | 消しゴム | 80 | S02 | C02 | 20 |
| S02 | 消しゴム | 80 | S02 | C03 | 40 |
| S03 | クリップ | 200 | S03 | C03 | 60 |
- ア(原典は表。上の「アの表」)
- イ(原典は表。上の「イの表」)
- ウ(原典は表。上の「ウの表」)
- エ(原典は表。上の「エの表」)
答えと解説を見る
✓ これが正解エ(原典は表。上の「エの表」)
解説
等結合は両表の商品番号を残し、一致する5行を返します。
等結合は、二つの表の指定した列の値が等しい行どうしを組み合わせる結合で、結果には両方の表の列がすべて残ります。“商品”表と“納品”表を商品番号で等結合すると、納品の各行に、同じ商品番号を持つ商品の行が一つずつ組み合わされます。納品は5行あり、どの行にも対応する商品があるので、結果は5行です。また、商品表の商品番号と納品表の商品番号が別々の列として両方残るので、列は6列になります。見分ける軸は、行数と、結合に使った列が一つにまとめられているかどうかです。同じ名前の列を一つにまとめるのは自然結合なので、等結合との違いとして押さえておきましょう。
ほかの選択肢はなぜ違うのか
- ア(原典は表。上の「アの表」):商品ごとに1行ずつしかなく、S01 と C02 の組、S02 と C03 の組が抜けています。納品の5行のうち一部しか結合しておらず、さらに商品番号の列が一つにまとめられているので、等結合の結果になりません。
- イ(原典は表。上の「イの表」):商品番号の列は二つ残っていますが、行が3行しかなく、S01 と C02 の組、S02 と C03 の組が抜けています。等しい値を持つ行どうしはすべて組み合わせるので、5行にならなければなりません。
- ウ(原典は表。上の「ウの表」):5行すべてそろっていますが、商品番号の列が一つにまとめられています。同じ名前の列を一つにまとめるのは自然結合の結果であり、両方の列を残す等結合の結果とは列の数が違います。
出典:令和6年度 秋期 データベーススペシャリスト試験 午前Ⅱ 問9
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)