• Hi, super, thanks for your comments ... (and thanks everybody for all other comments on this articles).

    I feel it's rather risky to try to find a golden rule when it comes to performance. It depends on so many variables that I'd better test things on each particular case.

    In both statements we are talking about here, we have operations that we are told to avoid... Either using comparions to NULL value when using the JOIN or using the NOT IN predicate when using the subquery.

    I guess the real advantage in using the syntax I suggested in the article is that the SELECT statement can list fields from both tables when we use the JOIN.

    Regarding performance, I was curious to check your suggestion and so I ran a "SET STATISTICS PROFILE ON;" to show performance on both statements.

    To my surprise, the Total Subtree Cost on those queries were almost exactly the same same (difference was less than 1%)

    0.0070812 for the JOIN

    0.00706536 for the subquery

    Sometimes RDBMs play a trick on us. 🙂