Мне нужно оставить внешнее соединение двух таблиц, но я также всегда хочу иметь «несопоставленный» ряд. Пример:
left table:
|--------------|
| *c1* | *key* |
|--------------|
| a1 | a |
|------|-------|
| b1 | b |
|--------------|
right table:
|--------------|
| *c2* | *key* |
|--------------|
| a2 | a |
|--------------|
expected result, joined by *key* column:
|-------------|
| *c1* | *c2* |
|-------------|
| a1 | a2 |
|------|------|
| a1 | null | <- this row is needed
|------|------|
| b1 | null | <- in case there is no match, only one "value, null" row is needed
|-------------|
Какой лучший способ добиться этого? Желательно без использования distinct
или union
.