内部結合と外部結合について
スポンサーリンク
内部結合と外部結合についてです。
内部結合
内部結合では左右それぞれのテーブルで結合条件に使用した値が一致するレコードだけが抽出される。
そのため、どちらかのテーブルにしか存在しないデータは取得されない。
INNER JOIN
例
select * from アイテムテーブル inner join ユーザテーブル on アイテムテーブル.ユーザID = ユーザテーブル.ユーザID;
出力結果
外部結合
外部結合では左右それぞれのテーブルの結合条件の値が一致するレコードに加え、左右どちらかのテーブルの全てのデータが出力される。
存在しないデータはNULLが入る。
LEFT OUTER JOIN
左側のテーブルをベースとして結合する。左側に指定されたテーブルの全てのレコードが取得され、右側のテーブルからは結合条件に一致したものだけが抽出される。
例
select * from アイテムテーブル left outer join ユーザテーブル on アイテムテーブル.ユーザID = ユーザテーブル.ユーザID;
出力結果
RIGHT OUTER JOIN
右側のテーブルをベースとして結合する。右側に指定されたテーブルの全てのレコードが取得され、左側のテーブルからは結合条件に一致したものだけが抽出される。
select * from アイテムテーブル right outer join ユーザテーブル on アイテムテーブル.ユーザID = ユーザテーブル.ユーザID;
出力結果
以上、内部結合と外部結合について説明してみました。