JOIN はSQLの句で、関連する値を持つ列に基づいて2つ以上のテーブルから行を結合するために使用されます。その主な目的は、完全かつ包括的な情報を持つ単一のデータセットを取得することです。ここでいう「完全」とは、テーブル間のリレーションによって得られる列の組み合わせからなるデータ構造を指します。

多様なデータ取得のニーズを満たすために、JOINコマンドは OUTER JOININNER JOINRIGHT JOINLEFT JOIN のいくつかの種類に分けられます。

SQL JOINの種類の違い

以下に、さまざまなJOIN句の説明と構文例を示し、それぞれの違いを理解するのに役立ててください。

1. FULL OUTER JOIN

Outer join(またはFull Outer Join)は、結合される両方のテーブルから、一致する値がある行もない行もすべてのレコード(行)を返します。2つのテーブル間に一致するデータがない場合、結合結果の欠落部分は自動的にNULL値で埋められます。

構文:

SQL

SELECT column_name(s)

FROM table1

FULL OUTER JOIN table2

ON table1.column_name = table2.column_name

WHERE condition;

2. LEFT JOIN

Left Joinは、結合される2つのテーブルのうち左側のテーブル(最初のテーブル)からすべてのレコードを返す操作です。左側のテーブルの値が右側のテーブル(2番目のテーブル)のデータと一致しなくても、左側のテーブルのすべてのデータは保持され表示されます。一致するものがない右側のテーブルのデータはNULLに置き換えられます。

構文:

SQL

SELECT column_name(s)

FROM table1

LEFT JOIN table2

ON table1.column_name = table2.column_name;

3. RIGHT JOIN(補足)

Left Joinの逆として、Right Join句は右側のテーブル(2番目のテーブル)からすべてのレコードを返し、左側のテーブルから一致するデータも返します。左側のテーブルに一致するデータがない場合、左側の結果はNULLになります。

構文:

SQL

SELECT column_name(s)

FROM table1

RIGHT JOIN table2

ON table1.column_name = table2.column_name;

4. INNER JOIN(補足)

Inner Joinは最も頻繁に使用される句です。Outer Joinとは異なり、Inner Joinはより厳密に動作し、結合される両方のテーブルに一致するデータ(積集合)を持つ行のみを返します。

構文:

SQL

SELECT column_name(s)

FROM table1

INNER JOIN table2

ON table1.column_name = table2.column_name;

Shares:
コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です