[ 通常表示 ]  [ 簡易表示 ]  [ シンプル表示 ]

「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典イメージぴよ画像「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

「内部結合(INNER JOIN)」と「外部結合(OUTER JOIN)」の違い

スポンサーリンク

予備知識


用語意味
データベースデータを入れておく箱
テーブルデータベースの話で出てくる用語で、実際にデータを入れておく箱のこと
結合ガション!と合体させること
テーブル結合データベースの話で出てくる用語で、複数のテーブルを合体させて1つのテーブルっぽくすること

データベースは「データを入れておく箱」です。


「内部結合(INNER JOIN)」と「外部結合(OUTER JOIN)」の違い1

ただし「データベース」という用語は、実際には、もう少し複雑な概念です。
データを入れておく箱そのものは「テーブル」と言います。

取りあえず

データベース関連で出てくる用語で、実際にデータを入れておく箱が「テーブル」

と覚えてください。

さて、このテーブルですが、実は合体できます。
2つのテーブルをくっつけて、1つのテーブルっぽくできるのです。

この2つのテーブルを合体させることを指して「結合」や「テーブル結合」と言います。


それぞれの用語の意味


用語意味
内部結合2つのテーブルをくっつけて1つのテーブルっぽくする際のやり方のひとつで、両方のテーブルの合体可能なデータのみを取り出すやり方
外部結合2つのテーブルをくっつけて1つのテーブルっぽくする際のやり方のひとつで、基準となるテーブルにデータがあれば、もう一方のテーブルになくても取り出すやり方

似ているところ


どちらもテーブル結合です。
2つのテーブルを合体させる行為を指します。


違うところ


両方のテーブルにあるデータのみを取り出すのが内部結合です。
2つのテーブルにあって、合体できるデータのみを取り出します。

どちらかのテーブルにデータがあれば取り出すのが外部結合です。
1つのテーブルにしかなくて、合体しないデータも取り出します。


個人的な使い分け


一般的に内部結合とは外部結合では内部結合の方が処理が速いので、可能なかぎり内部結合で処理できるように設計をします。
内部結合できない場合は外部結合を使います。

……まぁ、どんなデータを取り出すか決まった時点で、内部結合で実現できるか外部結合が必要になるか決まっちゃうことが、ほとんどですけどね。


備考


・外部結合は左外部結合(LEFT OUTER JOIN)右外部結合(RIGHT OUTER JOIN)完全外部結合(FULL OUTER JOIN)といった「○○外部結合」の総称です。

・説明を簡単にするために「テーブルを合体させる」という表現を使っていますが、実際には「2つのテーブルから共通項のあるデータを取り出して、疑似的に新しいテーブルを作る」と表現した方が正確です。


スポンサーリンク