If you’ve written SQL queries before, you’ve probably come across both LEFT JOIN and LEFT OUTER JOIN. At first glance, they might seem different — especially if you’re new to SQL — but here’s the truth: they’re exactly the same in SQL Server!
Yep, that’s right — there’s no difference in functionality between LEFT JOIN and LEFT OUTER JOIN.
So why are there two terms?
- LEFT OUTER JOIN is the complete, more descriptive form.
- LEFT JOIN is simply a shortened version — and it’s the one most developers use in practice.
What does a LEFT JOIN actually do?
A LEFT JOIN returns all records from the left table, and the matched records from the right table. If there’s no match, you’ll still get the left-side data, but with NULL in the right-side columns.
Example:
SELECT a.name, b.order_id
FROM customers a
LEFT JOIN orders b ON a.id = b.customer_id;
This will return all customers, including those who haven’t placed any orders.
TL;DR:
LEFT JOIN = LEFT OUTER JOIN
- Use whichever you prefer — just stay consistent!
- Both are great when you need to include unmatched data from the left table.