「左外部結合(LEFT OUTER JOIN)」と「右外部結合(RIGHT OUTER JOIN)」の違い
予備知識
| 用語 | 意味 |
|---|---|
| データベース | データがそれっぽい感じに入っている箱。データのまとまり |
| テーブル | データベースにおいて、実際にデータを入れておく箱 |
| 結合 | ガション!と合体させること |
| テーブル結合 | データベースの話で出てくる用語で、複数のテーブルを合体させて1つのテーブルっぽくすること |
| 内部結合 | テーブル結合のやり方のひとつで、両方のテーブルの合体可能なデータのみを取り出すやり方 |
| 外部結合 | テーブル結合のやり方のひとつで、基準となるテーブルにデータがあれば、もう一方のテーブルになくても取り出すやり方 |
データベースは「データを入れておく箱」です。

ただし「データベース」という用語は、実際には もう少し複雑な概念です。
データを入れておく箱そのものは「テーブル」と言います。
とりあえず
データベース関連で出てくる用語で、実際にデータを入れておく箱が「テーブル」
と覚えてください。
さて、このテーブルですが、実は合体できます。
2つのテーブルをくっつけて、1つのテーブルっぽくできるのです。
この2つのテーブルを合体させることを指して「結合」や「テーブル結合」と言います。
また、テーブル結合には
1.内部結合
2.外部結合
の2種類あります。
内部結合は
合体できたデータのみ取り出すよ!な やり方
です。

外部結合は
合体できなくても取り出すよ!な やり方
です。
基準となるテーブルにデータがあれば、たとえ合体できなくても取り出します。

それぞれの用語の意味
| 用語 | 意味 |
|---|---|
| 左外部結合(LEFT OUTER JOIN) | テーブル結合のやり方のひとつで、1つ目のテーブルの全データを取り出して、それに2つ目のテーブルのくっつけられるデータをくっつけるやり方 |
| 右外部結合(RIGHT OUTER JOIN) | テーブル結合のやり方のひとつで、2つ目のテーブルの全データを取り出して、それに1つ目のテーブルのくっつけられるデータをくっつけるやり方 |
似ているところ
どちらも外部結合です。
基準となるテーブルの全データを取り出して、それにもう一方のテーブルの合体できるやつだけ合体させます。

違うところ
基準となるテーブルが違います。
イメージの話になりますが、左外部結合は左のテーブルが基準となるテーブルです。
左のテーブルの全データを取り出して、それに右のテーブルのくっつけられるデータをくっつけます。

一方、右外部結合は右のテーブルが基準となるテーブルです。
右のテーブルの全データを取り出して、それに左のテーブルのくっつけられるデータをくっつけます。

ただし、です。
2つのテーブルのうち、どちらを左のテーブルと見なすかは好きに決められますよね?
よって、テーブルの左右を入れ替えれば、左外部結合は右外部結合に書き換えられます。

同じように、右外部結合は左外部結合に書き換えられます。

つまり
左外部結合と右外部結合は実質的に同じ
です。
個人的な使い分け
常に左外部結合を使います。
右外部結合は使いません。
1.右外部結合は左外部結合に書き換えられる
2.左外部結合と右外部結合が混在すると、分かりにくくなる
というのが、その理由です。






