Left Outer Join in PostgreSQL

OUTER JOIN
The PostgreSQL database supports three major types of Outer joins:

  • Left Outer Join or Left Join
  • Right Outer Join or Right Join
  • Full Outer Join or Full Join

Left Outer Join:
The Left Outer Join query after joining returns all the records from the Left table for the specified fields along with the records from the Right table where the join condition is met.

Syntax:

SELECT expr_1, expr_2, ... expr_n  
FROM table_1   
LEFT OUTER JOIN table_2  
ON join_predicate;

Parameters:
join_predicate: It is used to specify the joining conditions to be strictly followed for joining.

Example:
Employment Table:

ID STATE RATE
1 A 60
2 B 70
3 C 65
4 D 80
5 E 78

Department Table:

ID NAME PERCENT
1 IT 60
2 SALES 75
3 BANK 50

Query:

SELECT “EMPLOYMENT”.“ID”, “EMPLOYMENT”.“STATE”, “DEPARTMENT”.“NAME”  
FROM “EMPLOYMENT”   
LEFT OUTER JOIN “DEPARTMENT”  
ON “EMPLOYMENT”.“ID” = “DEPARTMENT”.“ID”;

Output:

ID STATE NAME
1 A IT
2 B Sales
3 C Bank
4 D
5 E

Explanation:
The EMPLOYMENT and the DEPARTMENT are the already existing tables that are joined with LEFT OUTER JOIN query so that all the records from the EMPLOYMENT table for the specified fields along with the records from the DEPARTMENT table where the join condition is met is combined in the result set.