Скажем, у нас есть следующие таблицы t1 и t2:
t1:
id | column_1
-------------
1 | 1
2 | 2
t2:
id | column_2
-------------
2 | 2
3 | 3
и мы хотим найти следующий результат:
id | column_1 | column_2
------------------------
1 | 1 |
2 | 2 | 2
3 | | 3
По сути, это объединение правого соединения с левым. Следующий код работает, но кажется неуклюжим:
(
SELECT t1.id, t1.column_1, t2.column_2
FROM t1
LEFT JOIN t2 ON t1.id = t2.id
)
UNION
(
SELECT t2.id, t1.column_1, t2.column_2
FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
)
Есть ли лучший способ добиться этого?