データベース

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

“注文”表と“製品”表に対して,次のSQL文を実行したときに得られる結果はどれか。
SELECT 製品名,数量 FROM 注文,製品 WHERE 注文.製品コード = 製品.製品コード 注文:
日付製品コード数量
2016-04-10P2120
2016-04-15P1100
2016-04-22P450
2016-04-30P880
2016-05-06P1100
2016-05-08P370
製品:
製品コード製品名
P1PC
P2テレビ
P3掃除機
P4冷蔵庫
P5エアコン
P6電話機
P7時計
答えを選ぶ

出典:基本情報技術者試験 科目A免除 修了試験 20170122 実施分 問27(問題文は IPA の公開問題。解説は当サイト作成)

答えと解説を見る

正解:ウ

覚える知識

SQLの内部結合の結果判定

内部結合では、両方の表に結合キーが存在する行の組のみが結果に含まれる。

この問題で必要なこと

WHERE句の等値条件による結合は内部結合で、製品に無いP8の行は結果に出ない。P1(PC)は注文が2件あるため2行出力される。

ひっかけ

外部結合のようにNULLの行が出ると誤解させる選択肢がある。

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

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

同じ知識の過去問