Использование for full outer join
выглядит корректно, но выбранные термины не будут правильно обрабатывать пропущенные элементы. Использование coalesce
должно сделать трюк:
SELECT COALESCE (tb2.id, tb1.id) AS id, COALESCE (tb2.name, tb1.name) AS name FROM tb1 FULL OUTER JOIN tb2 ON tb1.id = tb2.id;