SQL文におけるJOINの使い方
SQL文でJOINは、2 つ以上の表の行を、それら間の共有列値によって一緒に連結して、それらからデータを取得できるようにします。JOINの構文は次のようになります。
SELECT 列名
FROM 表1
JOIN 表2 ON 表1.列名 = 表2.列名
上の構文におけるJOINキーワードは結合させたい2つの表を指定し、ONキーワードは結合の条件、つまり2つの表内でマッチさせる列を指定します。結合条件は等号 (= )またはその他の比較演算子で指定することができます。
JOINの種類には、主に
- INNER JOIN(内側結合):2つの表でマッチした行のみを返します。
- LEFT JOIN(左結合):左側のテーブルのすべての行と、左側のテーブルと一致する右側のテーブルの行を返します。
- 右結合:右側のテーブルのすべての行と、左側のテーブルで右側と一致する行を返します。
- フル結合:左表と右表のすべての行を返し、両方の表で一致する行がなければ欠落した値はNULLで埋める。
以下にJOINを使用した例をいくつか示します。
- 内部結合
SELECT *
FROM 表1
JOIN 表2 ON 表1.列名 = 表2.列名
- LEFT JOIN
SELECT *
FROM 表1
LEFT JOIN 表2 ON 表1.列名 = 表2.列名
- 右結合
SELECT *
FROM 表1
RIGHT JOIN 表2 ON 表1.列名 = 表2.列名
- 全結合
SELECT *
FROM 表1
FULL JOIN 表2 ON 表1.列名 = 表2.列名
JOIN文は、他の検索条件(WHERE句など)と組み合わせて、結果をさらに絞り込むこともできます。