удалить "все":
select code,name from table1
union
select code,name from table2
Union all
сохраняет все строки.
Union
удаляет дубликаты.
Если у вас разные имена для одного и того же кода в каждой таблице, вы должны выбрать одно имя - попробуйте это:
select code, max(name) as name
from (select code,name from table1
union
select code,name from table2) x
group by 1