When using EXISTS with a subquery, the subquery solution should be faster (compared to the outer join and validation for NULL), since the "evaluation" of the subquery completes as soon as the first row is returned.
My experience is that most of the time the query optimizer selects the same plan, so there is no performance difference between them (at least with Oracle and PostgreSQL)
a_horse_with_no_name
source share