複数のテーブルを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 結合条件