Wednesday, November 30, 2011

tags SQL

The SQL LEFT JOIN keyword returns all rows from the left table, even if there are no matches in the right table.

Departments Table


Employees Table

1000John Smith
1001Fred White
1002Jane Scott
1003Samuel Williams

In this example, employeeID is a primary key in the table called "Employees". You'll notice that employeeID also exists in the "Departments" table, but as a foreign key. Using an SQL Join, we can combine these two tables into one when presenting the results of a query.

Design Example

In this example, using a LEFT JOIN, we can build a query to display the all of the departments and employees even though not every department has an employee assigned to it, such as in the case of 'Operations'.  The two tables are joined by the 'employeeID' field. We can use the LEFT JOIN to bind this data together.

SQL Left Join


SELECT tableName#.columnName#, tableName#.columnName#, etc...
FROM tableName1
LEFT JOIN tableName2
ON tableName1.columnName# = tableName2.columnName#


List the departments and their assigned employees.

SELECT Departments.deptName, Employees.employeeName
FROM Departments
LEFT JOIN Employees
ON Departments.employeeID = Employees.employeeID


SalesJohn Smith
HRJane Scott
AccountingSamuel Williams

You should immediately notice that 'Operations' from the Departments table. This is because there is there are no employees assigned to 'Operations' and we had specific a LEFT JOIN in the query.   If there are rows in "Departments" that do not have matches in "Employees", the records from Departments will be returned in the result set.

Please help us spread the word by socializing it today!

email contact us

Did you find something wrong with the information on this page? Please take a moment to report it to us so that we can continue to improve the quality of the information on this site. Click here to report an issue with this page.

Recommended Books & Training Resources

Head First SQL: Your Brain on SQL A Learners Guide SQL Cookbook