複数のテーブルを1つに結合する方法は大きく2つあり、内部結合と外部結合があります。
内部結合とは?
テーブルの両方に結合条件で指定したレコードが存在しないと、結合後のテーブルに表示されないので、どちらか一方にしかないレコードは表示されません。
内部結合の方法
テーブルAとテーブルBを 内部結合
する場合、以下のようになります。
SELECT テーブルAから抽出するカラム
FROM 基準にしたいテーブルAの名前
JOIN 結合させたいテーブルBの名前
ON 結合条件(テーブルAの名前.基準にするカラム名 = テーブルBの名前.基準にするカラム名)
外部結合とは?
外部結合には2種類あり、左外部結合と右外部結合があります。全データを表示する範囲をテーブルA(左側)か、テーブルB(右側)かを決められます。
テーブルの両方に結合条件で指定したレコードが存在しなくても、結合後のテーブルに表示されます。存在しない時は、全データを表示するテーブルではない方に NULL
が表示されます。
左外部結合の方法
テーブルAとテーブルBを 左外部結合
する場合、以下のようになります。
この場合、テーブルBに存在しない時は NULL
が表示されます。
SELECT テーブルAから抽出するカラム
FROM 基準にしたいテーブルAの名前
LEFT JOIN 結合させたいテーブルBの名前
USING 結合条件
右外部結合の方法
テーブルAとテーブルBを 右外部結合
する場合、以下のようになります。
この場合、テーブルAに存在しない時は NULL
が表示されます。
SELECT テーブルAから抽出するカラム
FROM 基準にしたいテーブルAの名前
RIGHT JOIN 結合させたいテーブルBの名前
USING 結合条件