• IN is not an expensive operation. For matching rows, it's cheaper than join.

    Moving a filter from a join to the where when you have an outer join changes the logic of the query and likely the results.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass