問題
SQLで表を結合するときに内部結合(INNER JOIN)と外部結合(OUTER JOIN)の違いとして正しいものはどれか。
選択肢
- 1ア 内部結合は両表の一致行のみ、外部結合は一致しない行も含む
- 2イ どちらも同じ結果を返す
- 3ウ 外部結合は一致行のみを返す
- 4エ 内部結合は必ずNULLを含む
正解
1. ア 内部結合は両表の一致行のみ、外部結合は一致しない行も含む
詳しい解説を見る解説を閉じる
解説
内部結合(INNER JOIN)は、結合条件を満たす行同士の組だけを結果として返す。一方、外部結合(OUTER JOIN)は条件を満たす行に加えて、一致する相手がいない行も残し、相手側の列をNULLで補って返す。よってアが正解である。外部結合には、基準とする表に応じてLEFT(左表の全行を残す)・RIGHT(右表の全行を残す)・FULL(両方残す)の3種類がある。イは両者の結果が一般に異なるため誤り、ウは内部結合の説明になっており逆である。エの内部結合は一致行のみを返すため、結合によるNULL補完は発生しない。「左外部結合では左表の全行が必ず結果に残る」といった結果の行数を問う出題が多く、小さな2表で結合結果を書き出して確認できるようにしておきたい。
一問一答
科目A 180問+科目B 60問