Con la union.....
codice:
select a.codice, a.descrizione, a.prezzoa, b.prezzob from tabellaa a, tabellab b where
a.codice=b.codice
union all
select a.codice, a.descrizione, a.prezzoa, b.prezzob from tabellaa a left outeer join tabellab b
on a.codice=b.codice where b.prezzob is null
union all
select b.codice, b.descrizione, a.prezzoa, b.prezzob from tabellab b left outeer join tabellaa a
on b.codice=a.codice where a.prezzoa is null
order by codice
così ricavi tutti gli articoli con i relativi prezzi di a e b se presenti