Giả sử có 2 bảng TableA và TableB chỉ có 2 cột (Id, Data) và dữ liệu sau:
BảngA:
+
| Id | Data |
+
| 1 | DataA11 |
| 1 | DataA12 |
| 1 | DataA13 |
| 2 | DataA21 |
| 3 | DataA31 |
+
BảngB:
+
| Id | Data |
+
| 1 | DataB11 |
| 2 | DataB21 |
| 2 | DataB22 |
| 2 | DataB23 |
| 4 | DataB41 |
+
Tham gia bên trong trên cột Id
sẽ trả về các cột từ cả hai bảng và chỉ các bản ghi phù hợp:
.
| 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 |
'
Kết nối Trái (hoặc Kết nối bên ngoài bên trái) trên cột Id
sẽ trả về các cột từ cả bảng và các bản ghi khớp với bản ghi từ bảng bên trái (Giá trị rỗng từ bảng bên phải):
.
| 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 | | |
'
Tham gia bên phải (hoặc tham gia bên ngoài bên phải) trên cột Id
sẽ trả về các cột từ cả bảng và các bản ghi khớp với bản ghi từ bảng bên phải (Giá trị rỗng từ bảng bên trái):
┌────┬─────────┬────┬─────────┐
│ 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 │
└────┴─────────┴────┴─────────┘
Full Outer Join trên cột Id
sẽ trả về các cột từ cả bảng và khớp các bản ghi với các bản ghi từ bảng bên trái (Giá trị rỗng từ bảng bên phải) và các bản ghi từ bảng bên phải (Giá trị rỗng từ bảng bên trái):
╔════╦═════════╦════╦═════════╗
║ 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 ║
╚════╩═════════╩════╩═════════╝
Left Semi Join trên cột Id
sẽ chỉ trả về các cột từ bảng bên trái và chỉ khớp các bản ghi từ bảng bên trái:
┌────┬─────────┐
│ Id │ Data │
├────┼─────────┤
│ 1 │ DataA11 │
│ 1 │ DataA12 │
│ 1 │ DataA13 │
│ 2 │ DataA21 │
└────┴─────────┘