---
title: "LEFT JOIN vs. LEFT OUTER JOIN in SQL Server, which one is better?"  
description: "LEFT JOIN vs. LEFT OUTER JOIN in SQL Server, which one is better?"  
author: "Revati S Misra"  
published: 2023-07-11  
updated: 2023-07-12  
canonical: https://www.mindstick.com/forum/159024/left-join-vs-left-outer-join-in-sql-server-which-one-is-better  
category: "mssql server"  
tags: ["mssql server", "sql server", "sql"]  
reading_time: 3 minutes  

---

# LEFT JOIN vs. LEFT OUTER JOIN in SQL Server, which one is better?

[LEFT JOIN](https://www.mindstick.com/blog/304465/difference-between-inner-join-left-join-right-join-and-full-outer-join-in-sql-server) vs. [LEFT OUTER JOIN](https://www.mindstick.com/articles/12231/types-of-join-in-sql-server) in [SQL Server](https://www.mindstick.com/articles/12999/what-is-table-valued-function-in-sql-server), which [one is better](https://www.mindstick.com/interview/33879/how-many-types-of-css-which-one-is-better-explain-it)?

## Replies

### Reply by Aryan Kumar

Both `left join` and `left outer join` are used to join two tables together, but there is a subtle difference between the two.

A `left join` will return all rows from the [left](https://www.mindstick.com/articles/12768/don-t-be-left-behind-with-the-new-it-revolution) table, even if there are no matching rows in the right table. A `left outer join` will also return all rows from the left table, but it will also return **null** values for the columns in the right table where there are no matching rows.

In general, `left join` is used when you want to return all rows from the left table, regardless of whether there are matching rows in the right table. `left outer join` is used when you want to return all rows from the left table, and you also want to return **null** values for the columns in the right table where there are no matching rows.

Here is a table that summarizes the differences between `left join` and `left outer join`:

| Feature | Left join | Left [outer join](https://www.mindstick.com/forum/159328/mysql-outer-join-syntax-error) |
| --- | --- | --- |
| Returns all rows from the left table | Yes | Yes |
| Returns null values for the columns in the right table where there are no matching rows | No | Yes |
| Used when you want to return all rows from the left table | Yes | Yes |
| Used when you want to return null values for the columns in the right table where there are no matching rows | No | Yes |

The best way to choose between `left join` and `left outer join` depends on your specific needs. If you only need to return all rows from the left table, then you should use `left join`. If you also need to return **null** values for the columns in the right table where there are no matching rows, then you should use `left outer join`.

For example, the following code will use `left join` to join the `Customers` and `Orders` tables:

SQL

```plaintext
SELECT *
FROM Customers
LEFT JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;
```

This code will return all rows from the `Customers` table, even if there are no matching rows in the `Orders` table.

The following code will use `left outer join` to join the `Customers` and `Orders` tables:

SQL

```plaintext
SELECT *
FROM Customers
LEFT OUTER JOIN Orders
ON Customers.CustomerID = Orders.CustomerID;
```

This code will also return all rows from the `Customers` table, but it will also return **null** values for the `OrderID` column in the `Customers` table where there are no matching rows in the `Orders` table.


---

Original Source: https://www.mindstick.com/forum/159024/left-join-vs-left-outer-join-in-sql-server-which-one-is-better

Copyright © MindStick Software Pvt. Ltd. This Markdown version is provided for developers, AI systems, and offline reading.
