この概念が出た関連問題

この試験の対策ガイド

情報処理安全確保支援士試験 対策ガイド

合格率・勉強法・参考書の選び方をまとめています

見る →
答えと解説を見る(先に解くのがおすすめ)

正解は ウ

解説

LEFT OUTER JOINは左の表(R)のすべての行を結果に含め、右の表(S)に対応する行があれば結合し、なければNULLで埋めます。表R:(A001,10), (A002,20), (A003,30), (A005,50)と表S:(A002,20), (A003,30), (A004,40)でLEFT OUTER JOINを実行すると、A001はSに対応なし→RのA001/10 + NULL/NULL、A002はSと対応→A002/20/A002/20、A003はSと対応→A003/30/A003/30、A005はSに対応なし→A005/50/NULL/NULL となります。SのA004はRに対応する行がないため、LEFT OUTER JOINでは結果に含まれません(FULL OUTER JOINなら含まれます)。

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

選択肢 ア
LEFT OUTER JOINの正解はcです。選択肢aはINNER JOIN(内部結合)の結果に対応し、RとS両方に共通するA002とA003のみが結果に含まれます。LEFT OUTER JOINではRにありSにない行もNULLで埋めて含める必要があります。
選択肢 イ
選択肢bはA004を含んでいますが、LEFT OUTER JOINではRに存在しない行(SのみのA004)は結果に含まれません。A004を含むのはFULL OUTER JOINまたはRIGHT OUTER JOINの結果です。
選択肢 エ
選択肢dは実際の結合結果とは異なります。LEFT OUTER JOINでは、Rのすべての行(A001, A002, A003, A005)が必ず含まれ、Sに対応がない行はNULLで埋められます。各行の組合せを丁寧に確認することが重要です。

解くときのポイント

LEFT OUTER JOIN:左表の全行を残し、右表に対応なし→NULL。INNER JOINとFULL OUTER JOINとの違いを整理。