カテゴリ: PostgreSQL 更新日: 2026/01/23

PostgreSQLのRIGHT JOIN完全入門!初心者でもわかる使いどころと仕組み

PostgreSQLのRIGHT JOINの使いどころ
PostgreSQLのRIGHT JOINの使いどころ

先生と生徒の会話形式で理解しよう

生徒

「LEFT JOINはよく聞くんですけど、RIGHT JOINってあまり見かけません。何のためにあるんですか?」

先生

「RIGHT JOINは、右側の表を基準にしてデータを並べたいときに使います。名簿と出席表を比べて、出席表を必ず全部表示したい場合に便利です。」

生徒

「表を基準にするって、どういう意味ですか?」

先生

「どの表のデータを必ず表示するか、という考え方です。RIGHT JOINでは右側の表の行がすべて表示されます。」

1. SQLとは何か?

1. SQLとは何か?
1. SQLとは何か?

SQLは、データベースという「情報を表の形でたくさん保存しておく場所」に命令を出すための言葉です。紙のノートに書いた名簿を探したり、並べ替えたりする作業を、パソコンにお願いするための道具だと考えてください。PostgreSQLは、そのSQLを使って操作できるデータベースの一種です。

2. JOINとは何をする仕組みか

2. JOINとは何をする仕組みか
2. JOINとは何をする仕組みか

JOINとは、別々の表をつなぎ合わせて一つの結果として表示する仕組みです。例えば「生徒の名前が書いてある表」と「テストの点数が書いてある表」が別々にあった場合、それを合体させて「誰が何点を取ったか」を表示できます。このとき、どの表を中心に考えるかでINNER JOINやLEFT JOIN、RIGHT JOINが使い分けられます。

3. RIGHT JOINの基本的な考え方

3. RIGHT JOINの基本的な考え方
3. RIGHT JOINの基本的な考え方

RIGHT JOINは、右側に書いた表のデータを必ずすべて表示するJOINです。左側の表に対応するデータがなくても、右側の表にある行は消えません。対応するデータがない部分は、空っぽで表示されます。この空っぽの状態をNULLと呼び、「値が存在しない」という意味になります。

4. テーブルの例で理解するRIGHT JOIN

4. テーブルの例で理解するRIGHT JOIN
4. テーブルの例で理解するRIGHT JOIN

まずは、社員と部署の表を例にします。社員がまだ配属されていない部署も確認したい、という場面を想像してください。


employees
id | name       | department_id
---+------------+---------------
1  | 田中一郎   | 1
2  | 佐藤花子   | 2
3  | 鈴木次郎   | 1

departments
id | department_name
---+----------------
1  | 営業部
2  | 開発部
3  | 総務部

SELECT employees.name, departments.department_name
FROM employees
RIGHT JOIN departments
ON employees.department_id = departments.id;

name     | department_name
---------+----------------
田中一郎 | 営業部
鈴木次郎 | 営業部
佐藤花子 | 開発部
         | 総務部

総務部には社員がいませんが、RIGHT JOINを使うことで、部署の情報は必ず表示されています。これがRIGHT JOINの大きな特徴です。

5. RIGHT JOINの使いどころ

5. RIGHT JOINの使いどころ
5. RIGHT JOINの使いどころ

RIGHT JOINは、「右側の表を主役にしたい」ときに使います。例えば、商品マスタと注文履歴があり、注文が一度もない商品も含めて一覧表示したい場合です。売れていない商品を確認したいときに役立ちます。左側の表を基準にしたい場合はLEFT JOIN、右側ならRIGHT JOINと覚えると整理しやすくなります。

6. LEFT JOINとの違いを整理する

6. LEFT JOINとの違いを整理する
6. LEFT JOINとの違いを整理する

RIGHT JOINとLEFT JOINは、実は左右を入れ替えると同じ結果になります。そのため、現場ではLEFT JOINがよく使われますが、すでに書かれたSQLを読むときにはRIGHT JOINを理解していないと混乱します。「どちらの表を必ず表示したいか」という視点で見ることが大切です。


SELECT employees.name, departments.department_name
FROM departments
LEFT JOIN employees
ON employees.department_id = departments.id;

7. RIGHT JOINを読むときのコツ

7. RIGHT JOINを読むときのコツ
7. RIGHT JOINを読むときのコツ

RIGHT JOINを見たら、まずFROMの後にある表とRIGHT JOINの後にある表を確認してください。そして「右の表が必ず残る」と頭の中で言葉にすると理解しやすくなります。最初は難しく感じますが、表を紙に書いて線で結ぶイメージを持つと、仕組みが自然と見えてきます。

カテゴリの一覧へ
新着記事
New1
PostgreSQL
PostgreSQLのLIMIT・OFFSETとパフォーマンス問題を完全解説|初心者でもわかる安全な使い方
New2
MySQL
MySQLのUPDATE文でデータを更新する基本を徹底解説|SQL初心者でもわかるデータベース更新入門
New3
PostgreSQL
PostgreSQLのOFFSET完全入門|並び替えと組み合わせてデータをスキップする方法を初心者向けに解説
New4
MySQL
MySQLで複数行INSERTを行う方法と注意点を徹底解説|SQL基礎から学ぶデータベース入門
人気記事
No.1
Java&Spring記事人気No1
PostgreSQL
PostgreSQLのDISTINCT完全ガイド|SQLで重複データを除外する方法を初心者向けに解説
No.2
Java&Spring記事人気No2
PostgreSQL
PostgreSQLの主キー・外部キーを完全解説!初心者でもわかる設定方法と考え方
No.3
Java&Spring記事人気No3
PostgreSQL
PostgreSQLのLEFT JOIN完全入門!不足データを補いながらテーブル結合する仕組みをやさしく解説
No.4
Java&Spring記事人気No4
PostgreSQL
PostgreSQLのUPDATE文の使い方(部分更新・条件更新)
No.5
Java&Spring記事人気No5
PostgreSQL
PostgreSQLとは?初心者向けに特徴をわかりやすく解説
No.6
Java&Spring記事人気No6
PostgreSQL
PostgreSQLスキーマ設計のベストプラクティス完全ガイド|初心者でもわかるデータベース整理術
No.7
Java&Spring記事人気No7
PostgreSQL
PostgreSQLスキーマ作成・削除完全ガイド!初心者でもわかるデータベース設計の基礎
No.8
Java&Spring記事人気No8
PostgreSQL
PostgreSQLの権限管理を完全解説|スキーマ単位で理解するデータベースセキュリティの基礎