Is there any difference (performance, best-practice, etc…) between putting a condition in the JOIN clause vs. the WHERE clause?

For example…

-- Condition in JOIN
SELECT *
FROM dbo.Customers AS CUS
INNER JOIN dbo.Orders AS ORD 
ON CUS.CustomerID = ORD.CustomerID
AND CUS.FirstName="John"

-- Condition in WHERE
SELECT *
FROM dbo.Customers AS CUS
INNER JOIN dbo.Orders AS ORD 
ON CUS.CustomerID = ORD.CustomerID
WHERE CUS.FirstName="John"

Which do you prefer (and perhaps why)?

10 Answers
10

Leave a Reply

Your email address will not be published. Required fields are marked *