データベース
平成24年度 春期 基本情報技術者試験 午前 問30
“注文”表と“製品”表に対して,次の SQL 文を実行したときに得られる結果はどれか。
SELECT 製品名, 数量 FROM 注文, 製品
WHERE 注文.製品コード = 製品.製品コード
注文表:
製品表:
| 日付 | 製品コード | 数量 |
|---|---|---|
| 2011-04-10 | P2 | 120 |
| 2011-04-15 | P1 | 100 |
| 2011-04-22 | P4 | 50 |
| 2011-04-30 | P8 | 80 |
| 2011-05-06 | P1 | 100 |
| 2011-05-08 | P3 | 70 |
| 製品コード | 製品名 |
|---|---|
| P1 | PC |
| P2 | テレビ |
| P3 | 掃除機 |
| P4 | 冷蔵庫 |
| P5 | エアコン |
| P6 | 電話機 |
| P7 | 時計 |
- ア | 製品名 | 数量 | |---|---| | テレビ | 120 | | PC | 100 | | 冷蔵庫 | 50 | | 掃除機 | 70 |
- イ | 製品名 | 数量 | |---|---| | テレビ | 120 | | PC | 200 | | 冷蔵庫 | 50 | | 掃除機 | 70 |
- ウ | 製品名 | 数量 | |---|---| | テレビ | 120 | | PC | 100 | | 冷蔵庫 | 50 | | PC | 100 | | 掃除機 | 70 |
- エ | 製品名 | 数量 | |---|---| | テレビ | 120 | | PC | 100 | | 冷蔵庫 | 50 | | NULL | 80 | | PC | 100 | | 掃除機 | 70 |
出典:平成24年度 春期 基本情報技術者試験 午前 問30
答えと解説を見る
正解:ウ
覚える知識
SQLの内部結合の結果判定
内部結合は両表で結合条件が一致する行だけを結果とし、一致しない行は含まない。
この問題で必要なこと
WHERE結合は内部結合で、注文のP1が2行(PC)、P8は製品に無いため除外される。結果は5行。
ひっかけ
外部結合のようにNULL行が出る、あるいはPCを1行にまとめるなどの誤解を誘う。
この知識の出題:本試験系 3 回・免除試験 12 回(公開問題での観測値)