LEFT JOIN

LEFT JOINは、結合元のテーブル(左のテーブルと呼ぶ)にある行はすべて残し、結合先のテーブル(右のテーブルと呼ぶ)に一致するデータがない場合は、NULLを補って結合結果に含める。

https://www.postgresql.jp/docs/9.4/queries-table-expressions.html

postgresdb1=# SELECT * FROM users;
 id | name  
----+-------
  1 | Alice
  2 | Bob
  3 | Carol
(3 行)

postgresdb1=# SELECT * FROM test_results;
 id | user_id | score
----+---------+-------
  1 |       1 |    85
  2 |       3 |    90
(2 行)

postgresdb1=# SELECT                    
    users.name,
    test_results.score
FROM
    users
JOIN
    test_results ON users.id = test_results.user_id;
 name  | score
-------+-------
 Alice |    85
 Carol |    90
(2 行)

postgresdb1=# SELECT                    
    users.name,
    test_results.score
FROM
    users
LEFT JOIN
    test_results ON users.id = test_results.user_id;
 name  | score
-------+-------
 Alice |    85
 Carol |    90
 Bob   |      
(3 行)

postgresdb1=#

JOINだけだとテストを受けていないBobの行は表示されないが、LEFT JOINだとBobの行もscoreが空欄で表示される。