Вы можете использовать not exists
:
select t2.*
from table2 t2
where not exists (select 1 from table1 t1 where t1.id = t2.table1_id)
Вы можете легко превратить это в выражение delete
:
delete from table 2
where not exists (select 1 from mytable where t1.id = t2.table1_id)