• I suspect it's because SQL's internal processing does "ON" clauses before WHERE clauses.

    Therefore, I think they figure the ON clause might eliminate rows sooner than a WHERE clause, and avoid joining unwanted rows. To me, that's a logical goal, then, as far as it goes. But, I know that SQL will pull comparison values out of the WHERE and include them on the underlying table seek. So does putting them in the ON clause really save anything? I'm not sure, would have to create some test cases.

    SQL DBA,SQL Server MVP(07, 08, 09) A socialist is someone who will give you the shirt off *someone else's* back.