毎日AM07:00確実更新

SQLの各JOINを一目で理解!覚えずとも画像で解決

SQLの各JOINを一目で理解!覚えずとも画像で解決
  • URLをコピーしました!

SQLのJOIN句は、データベース管理において非常に重要な役割を果たす。しかし、その種類が多く、初心者にとっては混乱しがちだ。ここでは、left join、right join、left join excluding inner join、right join excluding inner join、full outer join、inner join、full outer join excluding inner joinといった主要なJOINを、画像を使って簡単に理解できる方法を紹介する。

目次

INNER JOIN

INNER JOIN

INNER JOINは、2つのテーブル間で一致する行のみを返す。共通のキーを持つデータだけを抽出するため、最も基本的でよく使用されるJOINの一つだ。

SELECT
	*
FROM
	テーブル1 A
INNER JOIN
	テーブル2 B
ON
	A.カラム = B.カラム
;

LEFT JOIN

LEFT JOIN

LEFT JOINは、左側のテーブルの全ての行と、右側のテーブルで一致する行を返す。一致しない右側のデータはNULLになる。

SELECT
	*
FROM
	テーブル1 A
LEFT JOIN
	テーブル2 B
ON
	A.カラム = B.カラム
;

RIGHT JOIN

RIGHT JOIN

RIGHT JOINは、右側のテーブルの全ての行と、左側のテーブルで一致する行を返す。一致しない左側のデータはNULLになる。

SELECT
	*
FROM
	テーブル1 A
RIGHT JOIN
	テーブル2 B
ON
	A.カラム = B.カラム
;

FULL OUTER JOIN

FULL OUTER JOIN

FULL OUTER JOINは、両方のテーブルの全ての行を返し、一致しない部分はNULLになる。すべてのデータを完全に取得したい場合に便利だ。

SELECT
	*
FROM
	テーブル1 A
FULL OUTER JOIN
	テーブル2 B
ON
	A.カラム = B.カラム
;

LEFT JOIN Excluding INNER JOIN

LEFT JOIN Excluding INNER JOIN

LEFT JOIN Excluding INNER JOINは、LEFT JOINからINNER JOINの部分を除外した結果を返す。左側のテーブルのみに存在するデータを取得したい場合に使用する。

SELECT
	*
FROM
	テーブル1 A
LEFT JOIN
	テーブル2 B
ON
	A.カラム = B.カラム
WHERE
	B.カラム IS NULL
;

RIGHT JOIN Excluding INNER JOIN

RIGHT JOIN Excluding INNER JOIN

RIGHT JOIN Excluding INNER JOINは、RIGHT JOINからINNER JOINの部分を除外した結果を返す。右側のテーブルのみに存在するデータを取得したい場合に使用する。

SELECT
	*
FROM
	テーブル1 A
RIGHT JOIN
	テーブル2 B
ON
	A.カラム = B.カラム
WHERE
	A.カラム IS NULL
;

FULL OUTER JOIN Excluding INNER JOIN

FULL OUTER JOIN Excluding INNER JOIN

FULL OUTER JOIN Excluding INNER JOINは、FULL OUTER JOINからINNER JOINの部分を除外した結果を返す。どちらかのテーブルにしか存在しないデータを取得したい場合に使用する。

SELECT
	*
FROM
	テーブル1 A
FULL OUTER JOIN
	テーブル2 B
ON
	A.カラム = B.カラム
WHERE
	1 = 1
	AND A.カラム IS NULL
	OR B.カラム IS NULL
;

まとめ

SQLのJOINにはたくさんの種類があり、覚えるのが手間だ。しかし、ざっくりとどんなことが出来るかさえ覚えておけば、この画像を見ればすぐに思い出せるはずだ。私が一番伝えたいのは、「SQL JOINでGoogle画像検索すればこのような画像がすぐに出てくることを覚えてく」ということだ。視覚的なガイドを使えば理解が深まり、実際のSQLクエリを書く際にも役立つ。画像をブックマークしておけば、いつでも簡単に参照できるので便利だ。ぜひ、SQLのJOINをマスターしてデータベース操作の効率を上げよう。

SQLの各JOINを一目で理解!覚えずとも画像で解決

この記事が気に入ったら

  • URLをコピーしました!
  • URLをコピーしました!
目次