RIGHT JOIN

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

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

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

postgresdb1=# SELECT * FROM test_results;
 id | user_id | score
----+---------+-------
  1 |       1 |    80
  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 |    80
(1 行)

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

postgresdb1=#

JOINだと条件に合うのはAliceだけだが、RIGHT JOINだとuser_idが3でnameなどが空でscoreが90の行もできる。