b.importo serve solo per l'ordinamento, non mi pare che tu lo estragga.

per i record mancanti... prova
codice:
SELECT a.nome, '0.00' as importo_nullo
FROM tab1 a
left join tab2 b
on b.id = a.id
where a.id is null
order by a.name