データベース

基本情報技術者試験 科目A免除 修了試験 20210124 実施分 問28

“注文”表と“製品”表に対して,次の SQL 文を実行したときに得られる結果はどれか。 SELECT 製品名,数量 FROM 注文,製品 WHERE 注文.製品コード = 製品.製品コード
SQL 文中の読点は原文では「,」。 注文表:
日付製品コード数量
2020-04-10P2120
2020-04-15P1100
2020-04-22P450
2020-04-30P880
2020-05-06P1100
2020-05-08P370
製品表:
製品コード製品名
P1PC
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 |

出典:基本情報技術者試験 科目A免除 修了試験 20210124 実施分 問28

答えと解説を見る

正解:ウ

覚える知識

SQLの内部結合の結果判定

内部結合は結合条件に一致する行のみを結果とし、一致しない行は含まれない。

この問題で必要なこと

WHERE句による等値結合は内部結合となり、一致する行だけが出る。P8は製品表に無いので除外され、P1は2行出る。

ひっかけ

外部結合のようにNULL行が出ると誤解したり、同じ数量を合算したりする選択肢が紛らわしい。

この知識の出題:本試験系 3 回・免除試験 12 回(公開問題での観測値)

この知識をアプリで解いて覚える レッスン「関係代数と結合・集合演算」で学ぶ

同じ知識の過去問