У меня есть две похожие таблицы:
balance_first
+----+---------+
| id | balance |
+----+---------+
| 1 | 12 |
| 2 | 50 |
| 3 | 0 |
| 4 | 55 |
+----+---------+
balance_second
+----+---------+
| id | balance |
+----+---------+
| 2 | 7.5 |
| 4 | 2.33 |
| 10 | 1.23 |
+----+---------+
Я попытался с LEFT JOIN, но не смог получить результат. И, поскольку итоговая таблица занимает около 10 тыс. Строк, я бы не использовал предложение IN.
Окончательный ожидаемый результат
id 2 и id 4 также находятся в таблице balance_second, поэтому я хочу перейти к таблице balance_first OVERWRITING balance_first;
id 10 отсутствует в таблице LEFT, поэтому мы добавляем его
Наконец, id 1 и 3 находятся только в balance_first, поэтому нам нужно оставить нетронутым в final_result
+----+---------+
| id | balance |
+----+---------+
| 1 | 12 |
| 2 | 7.5 |
| 3 | 0 |
| 4 | 2.33 |
| 10 | 1.23 |
+----+---------+
Это скрипта SQL: http://sqlfiddle.com/#!9/eabdfe/1