Skip to main content



There are times when you want to retrieve all data from one table even there is no matching record from both tables. Unlike SQL INNER Join, SQL LEFT Join will still show you the result from the left table or the first table. SQL INNER Join as discussed in the previous chapter will only show records that match on both tables based on the column you specified.


SELECT column_name(s) FROM First_table_name LEFT JOIN Second_table_name ON First_table_name.column_name = Second_table_name.column_name

Consider the following table for this exercise


Firstname Lastname Salary DeptID
John Smith 1000 1
Mathew Simon 3000 1
Bill Steve 2200 1
Amanda Rogers 1800 2
Steve Hills 2800 2
Steve jobs 2400 2
bill cosby 700 3


DeptID DepartmentName
1 Employee
3 Staff

Please take note that there is no DeptID 2 in our Departments table, but there is DeptID 2 in the Users table.

Example # 1

SELECT Firstname, Lastname, Salary, DepartmentName FROM Users LEFT JOIN Departments ON Users.DeptID = Departments.DeptID

Result of the Query

Firstname Lastname Salary DepartmentName
John Smith 1000 Employee
Mathew Simon 3000 Employee
Bill Steve 2200 Employee
Amanda Rogers 1800
Steve Hills 2800
Steve jobs 2400
bill cosby 700 Staff

We have joined the two tables and match both tables and include all rows from Users table.

Add new comment