LEFT JOIN and LEFT OUTER JOIN speed difference

Hi Experts,
The query below runs much faster if I replace LEFT JOIN with LEFT OUTER JOIN. Both joins return the same data, which is all rows from the table on the left and matching rows from the table on the right.

Besides performance in terms of speed, what should I consider when using LEFT JOIN and LEFT OUTER JOIN?

(SELECT Authors.ID, (Authors.LastName + '', '' + Authors.FirstName) as Author, Authors.Notes,
AuthorHeadings.HeadingName AS HeadingType, COUNT(Books_Authors.BookID) AS TitleCount, 
FROM Authors 
INNER JOIN AuthorHeadings ON Authors.HeadingID = AuthorHeadings.ID 
LEFT JOIN Books_Authors ON Authors.ID = Books_Authors.AuthorID 
WHERE (Authors.FirstName LIKE %Ja%)
GROUP BY Authors.ID, Authors.LastName, Authors.FirstName, AuthorHeadings.HeadingName, Authors.Notes) 
AS AuthorsWithRows
WHERE (RowRank >0) AND (RowRank <= 500)

Open in new window

Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Guy Hengel [angelIII / a3]Billing EngineerCommented:
there is no difference, LEfT JOIN and LEFT OUTER JOIN are synonyms

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
They are exactly the same. It shouldn't have a speed difference actually. Perhaps you run LEFT JOIN first and then LEFT OUTER JOIN and the execution plan was already cached so you got a faster result. Try each a few times and it should take exactly the same time to return data.
It probably ran faster because you ran it the first time as LEFT JOIN, the query was cached, you changed it to LEFT OUTER JOIN and it uses the same execution plan so therefor ran off the cached plan and was faster. I bet if you run it with LEFT JOIN once more, it will be faster as well. They mean the same thing as AngelIII said.
Take a look at the execution plans in each case - they should be the same. SET STATISTICS IO ON to convince yourself that the same pages are being read in each case.

Note that there are syntax errors in your code so I don't think you posted what you actually ran.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Microsoft SQL Server 2005

From novice to tech pro — start learning today.