When we want to select out all the record from two table, no matter it's present at second table or not, we will have to use SQL OUTER JOIN command.

There are 3 type of OUTER JOIN, which is:
LEFT OUTER JOIN
RIGHT OUTER JOIN
FULL OUTER JOIN

SQL OUTER JOIN syntax:

SELECT *
FROM [TABLE 1] OUTER JOIN [TABLE 2]
ON [TABLE 1].[COLUMN NAME 1] = [TABLE 2].[COLUMN NAME 2]


EXAMPLE :

Let's say we got 2 tables containt data like Below:

Table 1: GameScores

PlayerNameDepartmentIdScores
Jason13000
Irene11500
Jane21000
David22500
Paul32000
James42000

Table 2: Departments

DepartmentIdDepartmentName
1IT
2Marketing
3HR
5QA

LEFT OUTER JOIN will return all records from the first table,
SQL statement and Result for LEFT OUTER JOIN is :

SELECT * FROM GameScores2
LEFT OUTER JOIN Departments
ON GameScores2.DepartmentId = Departments.DepartmentId

Result:

PlayerNameDepartmentIdScoresDepartmentIdDepartmentName
Jason130001IT
Irene130001IT
Jane230002Marketing
David230002Marketing
Paul330003HR
James42000NULLNULL

RIGHT OUTER JOIN will return all records from the second table,
SQL statement and Result for RIGHT OUTER JOIN is :

SELECT * FROM GameScores2
RIGHT OUTER JOIN Departments
ON GameScores2.DepartmentId = Departments.DepartmentId

Result:

PlayerNameDepartmentIdScoresDepartmentIdDepartmentName
Jason130001IT
Irene130001IT
Jane230002Marketing
David230002Marketing
Paul330003HR
NULLNULLNULL5QA

FULL OUTER JOIN will return all records from all tables,
SQL statement and Result for FULL OUTER JOIN is :

SELECT * FROM GameScores2
FULL OUTER JOIN Departments
ON GameScores2.DepartmentId = Departments.DepartmentId

Result:

PlayerNameDepartmentIdScoresDepartmentIdDepartmentName
Jason130001IT
Irene130001IT
Jane230002Marketing
David230002Marketing
Paul330003HR
James42000NULLNULL
NULLNULLNULL5QA