Ja, du solltest besser

where exists (select * from ... where ...)

verwenden, da du hier die Schlüssel gezielt angeben kannst.