2つの列(Id、Data)と次のデータしかないTableAとTableBの2つのテーブルがあるとします。
TableA:
+
| Id | Data |
+
| 1 | DataA11 |
| 1 | DataA12 |
| 1 | DataA13 |
| 2 | DataA21 |
| 3 | DataA31 |
+
表B:
+
| Id | Data |
+
| 1 | DataB11 |
| 2 | DataB21 |
| 2 | DataB22 |
| 2 | DataB23 |
| 4 | DataB41 |
+
列の内部結合はId
、テーブルと一致するレコードのみの両方から列を返します。
.
| Id | Data | Id | Data |
:
| 1 | DataA11 | 1 | DataB11 |
:
| 1 | DataA12 | 1 | DataB11 |
:
| 1 | DataA13 | 1 | DataB11 |
:
| 2 | DataA21 | 2 | DataB21 |
:
| 2 | DataA21 | 2 | DataB22 |
:
| 2 | DataA21 | 2 | DataB23 |
'
列の左結合(または左外部結合)はId
、テーブルと、左テーブルのレコード(右テーブルのNULL値)のレコードと一致するレコードの両方から列を返します。
.
| Id | Data | Id | Data |
:
| 1 | DataA11 | 1 | DataB11 |
:
| 1 | DataA12 | 1 | DataB11 |
:
| 1 | DataA13 | 1 | DataB11 |
:
| 2 | DataA21 | 2 | DataB21 |
:
| 2 | DataA21 | 2 | DataB22 |
:
| 2 | DataA21 | 2 | DataB23 |
:
| 3 | DataA31 | | |
'
列の右結合(または右外部結合)はId
、テーブルと、右テーブルのレコードと一致するレコード(左テーブルのNULL値)の両方から列を返します。
┌────┬─────────┬────┬─────────┐
│ Id │ Data │ Id │ Data │
├────┼─────────┼────┼─────────┤
│ 1 │ DataA11 │ 1 │ DataB11 │
│ 1 │ DataA12 │ 1 │ DataB11 │
│ 1 │ DataA13 │ 1 │ DataB11 │
│ 2 │ DataA21 │ 2 │ DataB21 │
│ 2 │ DataA21 │ 2 │ DataB22 │
│ 2 │ DataA21 │ 2 │ DataB23 │
│ │ │ 4 │ DataB41 │
└────┴─────────┴────┴─────────┘
列の完全外部結合はId
、テーブルと、左側のテーブルのレコード(右側のテーブルのNULL値)および右側のテーブルのレコード(左側のテーブルのNULL値)と一致するレコードの両方から列を返します。
╔════╦═════════╦════╦═════════╗
║ Id ║ Data ║ Id ║ Data ║
╠════╬═════════╬════╬═════════╣
║ - ║ ║ ║ ║
║ 1 ║ DataA11 ║ 1 ║ DataB11 ║
║ 1 ║ DataA12 ║ 1 ║ DataB11 ║
║ 1 ║ DataA13 ║ 1 ║ DataB11 ║
║ 2 ║ DataA21 ║ 2 ║ DataB21 ║
║ 2 ║ DataA21 ║ 2 ║ DataB22 ║
║ 2 ║ DataA21 ║ 2 ║ DataB23 ║
║ 3 ║ DataA31 ║ ║ ║
║ ║ ║ 4 ║ DataB41 ║
╚════╩═════════╩════╩═════════╝
列の左半結合はId
、左のテーブルからのみ列を返し、左のテーブルからのみ一致するレコードを返します。
┌────┬─────────┐
│ Id │ Data │
├────┼─────────┤
│ 1 │ DataA11 │
│ 1 │ DataA12 │
│ 1 │ DataA13 │
│ 2 │ DataA21 │
└────┴─────────┘