Suponga que hay 2 tablas TableA y TableB con solo 2 columnas (Id, Data) y los siguientes datos:
TablaA:
+
| Id | Data |
+
| 1 | DataA11 |
| 1 | DataA12 |
| 1 | DataA13 |
| 2 | DataA21 |
| 3 | DataA31 |
+
TablaB:
+
| Id | Data |
+
| 1 | DataB11 |
| 2 | DataB21 |
| 2 | DataB22 |
| 2 | DataB23 |
| 4 | DataB41 |
+
La unión interna en la columna Id
devolverá columnas de ambas tablas y solo de los registros coincidentes:
.
| 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 |
'
La combinación izquierda (o combinación externa izquierda) en la columna Id
devolverá columnas de las tablas y registros coincidentes con registros de la tabla izquierda (valores nulos de la tabla derecha):
.
| 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 | | |
'
La combinación derecha (o combinación externa derecha) en la columna Id
devolverá columnas de las tablas y registros coincidentes con registros de la tabla derecha (valores nulos de la tabla izquierda):
┌────┬─────────┬────┬─────────┐
│ 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 │
└────┴─────────┴────┴─────────┘
La unión externa completa en la columna Id
devolverá columnas de las tablas y registros coincidentes con registros de la tabla izquierda (valores nulos de la tabla derecha) y registros de la tabla derecha (valores nulos de la tabla izquierda):
╔════╦═════════╦════╦═════════╗
║ 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 en la columna Id
devolverá columnas solo de la tabla izquierda y registros coincidentes solo de la tabla izquierda:
┌────┬─────────┐
│ Id │ Data │
├────┼─────────┤
│ 1 │ DataA11 │
│ 1 │ DataA12 │
│ 1 │ DataA13 │
│ 2 │ DataA21 │
└────┴─────────┘