Survey: Join Predicate Order

It’s a quiet month as we look forward to 2016, so I’m asking a series of survey questions for the next few posts.

My first one is about the order of join predicates.

When joining two or more tables in T-SQL, which do you prefer?

SELECT *
FROM TableA a
INNER JOIN TableB b
   ON a.Col1 = b.Col1

or

SELECT *
FROM TableA a
INNER JOIN TableB b
   ON b.Col1 = a.Col1

The SQL Server Query Optimizer doesn’t care, so it comes down to your preference.

For legibility, I prefer the first option, where the table order is reflected in the predicate order.

Some people like having the order reversed.

Which do you prefer, and why?

%d bloggers like this: