SQL ステートメントの JOIN 句の意味と使い方
SQLにおけるJOINとは、2つ以上のテーブルの行を相互に関連付ける操作のこと。
JOIN構文の一般的なフォーマットは以下の通りです:
SELECT 列名
FROM 表名1
JOIN 表名2 ON 表名1.列名 = 表名2.列名
ON句では、結合条件が指定され、2つのテーブルを関連付ける列を定義する。
一般的なJOIN種別
- INNER JOIN(内結合):マッチした行だけを2つのテーブルから返します。両方のテーブルにマッチする行がある場合にのみ返します。
- LEFT JOIN(左結合):左側のテーブルの全レコードと、左側テーブルと一致した右側のテーブルのレコードを返します。一致するレコードがない場合は、NULL値を返します。
- 右結合:右側のテーブルのすべての行と、左側のテーブルで右側のテーブルと一致する行を返します。左側テーブルに一致する行がない場合は、NULL 値が返されます。
- 全結合ジョイン:対応する行の有無に関わらず、両方の表のすべての行を返します。
その他の一般的なJOIN種類に加えて、全ての行の組み合わせを返すCROSS JOIN(交差結合)があります。CROSS JOIN はON句による条件照合を行わず、2つのテーブルのデカルト積を返します。
JOINを活用することで複数のテーブルを関連付けて検索でき、より複雑な検索要求を実現できる。