表の結合(内部結合・外部結合)とは?
表の結合(内部結合・外部結合)とは、複数の表を関連する列の値で突き合わせて1つの結果表にする操作。両表に対応する行があるものだけを返す内部結合と、片側に対応が無くてもNULLを補って残す外部結合(LEFT・RIGHT・FULL)がある。どちらを使うかで件数と集計値が変わるため、要件の読み取りが要点になる。
高度試験・午前I(全区分共通)の過去問では2回出題されています(2023年度〜2024年度)。
ひょうのけつごう
表の結合(内部結合・外部結合)の意味
複数の表を関連する列の値で突き合わせて1つの結果表にする操作。両表に対応する行があるものだけを返す内部結合と、片側に対応が無くてもNULLを補って残す外部結合(LEFT・RIGHT・FULL)がある。どちらを使うかで件数と集計値が変わるため、要件の読み取りが要点になる。
表の結合(内部結合・外部結合)の具体例
「全社員と、その社員が受講した研修」を出すとき、内部結合では未受講者が消えてしまう。社員表を左にしたLEFT OUTER JOINにすれば未受講者も研修名NULLで残り、受講率の分母が正しくなる。逆に「受講実績の一覧」なら内部結合が正しい。
表の結合(内部結合・外部結合)は試験でどう引っ掛けられる?
外部結合で残した側にWHERE句で「研修名 = '安全教育'」と条件を書くと、NULL行が弾かれて内部結合と同じ結果に戻ってしまう。外部結合の条件はON句へ書く必要がある。また結合条件を書き忘れると直積(クロス結合)になり件数が爆発する。
表の結合(内部結合・外部結合)と関連する用語
表の結合(内部結合・外部結合)が出た過去問
モジュールの独立性を高めるには、モジュール結合度を低くする必要がある。モジュール間の情報の受渡し方法のうち、モジュール結合度が最も低いものはどれか。
正解:入出力に必要なデータ項目だけをモジュール間の引数として渡す。
要点:データ結合が最も結合度が低く、モジュールの独立性が高い
モジュール結合度は弱いものから順に、データ結合・スタンプ結合・制御結合・外部結合・共通結合・内容結合と分類される。処理に必要なデータ項目だけを引数として渡す方式はデータ結合で、これが最も結合度が低く、モジュールの独立性が最も高い。
出典:令和5年度 春期 高度共通_午前I試験 am1 問16(IPA)化粧品の製造を行っているA社では、販売代理店を通じて商品販売を行っている。今後の販売戦略に活用するために、次の三つの表を設計した。これらの表を用いるだけでは得る…
正解:販売代理店ごとの購入者数の日別差異
要点:必要な属性が同じ経路でつながるかを表の結合可能性で確かめる
販売代理店ごとの購入者数を日別に見るには、どの顧客がどの代理店でいつ購入したかが必要である。しかし顧客が現れる商品購入の表には日付がなく、日付をもつ販売代理店別日別販売の表には顧客が現れない。したがって購入者数の日別の推移は求められない。
出典:令和6年度 秋期 高度共通_午前I試験 am1 問10(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。