表の結合(内部結合・外部結合)とは?
表の結合(内部結合・外部結合)とは、複数の表を関連する列の値で突き合わせて1つの結果表にする操作。両表に対応する行があるものだけを返す内部結合と、片側に対応が無くてもNULLを補って残す外部結合(LEFT・RIGHT・FULL)がある。どちらを使うかで件数と集計値が変わるため、要件の読み取りが要点になる。
情報処理安全確保支援士試験の過去問では1回出題されています。
ひょうのけつごう
表の結合(内部結合・外部結合)の意味
複数の表を関連する列の値で突き合わせて1つの結果表にする操作。両表に対応する行があるものだけを返す内部結合と、片側に対応が無くてもNULLを補って残す外部結合(LEFT・RIGHT・FULL)がある。どちらを使うかで件数と集計値が変わるため、要件の読み取りが要点になる。
表の結合(内部結合・外部結合)の具体例
「全社員と、その社員が受講した研修」を出すとき、内部結合では未受講者が消えてしまう。社員表を左にしたLEFT OUTER JOINにすれば未受講者も研修名NULLで残り、受講率の分母が正しくなる。逆に「受講実績の一覧」なら内部結合が正しい。
表の結合(内部結合・外部結合)は試験でどう引っ掛けられる?
外部結合で残した側にWHERE句で「研修名 = '安全教育'」と条件を書くと、NULL行が弾かれて内部結合と同じ結果に戻ってしまう。外部結合の条件はON句へ書く必要がある。また結合条件を書き忘れると直積(クロス結合)になり件数が爆発する。
表の結合(内部結合・外部結合)と関連する用語
表の結合(内部結合・外部結合)が出た過去問
表Rと表Sに対して,次のSQL文を実行した結果はどれか。 〔SQL文〕 SELECT R.X AS A, R.Y AS B, S.X AS C, S.Z AS …
正解:A001,10,NULL,NULL / A002,20,A002,20 / A003,30,A003,30 / A005,50,NULL,NULL
要点:左外部結合は左表の全行を残し対応なしはNULLで埋める
左外部結合は、左側の表の行をすべて残し、結合条件に合う右側の行があれば連結し、なければ右側の列をNULLで埋める。左の表には4行あるのでその4行がすべて出力され、うち条件に合致する2行には右側の値が入り、残る2行はNULLとなる。右側にしかない行は結果に現れない点が要点である。
出典:令和4年度 秋期 情報処理安全確保支援士試験 am2 問21(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。