データベースの外部結合について (MySQL) [開発]
外部結合についてついつい忘れてしまいがちなので、備忘録としてまとめます。
動作確認をするデータベースは MySQL です。
左側外部結合
join句より左側にあるテーブル1を表示し、右側にあるテーブル2の情報を結合します
右側外部結合
join句より右側にあるテーブル2を表示し、左側にあるテーブル1の情報を結合します
サンプル
次のような2つのテーブルを用意します。
tbl_hello;
tbl_language;
まずは、左側外部結合を試します
次に、右側外部結合を試します
on句の代わりにusing句というのもあります。
これを使うためには結合条件の列名が同じである必要があります。
私自身あまり使う経験がありませんでした。
動作確認をするデータベースは MySQL です。
左側外部結合
select [テーブル名].列名, ... from テーブル1 left join テーブル2 on 結合条件;
join句より左側にあるテーブル1を表示し、右側にあるテーブル2の情報を結合します
右側外部結合
select [テーブル名].列名, ... from テーブル1 right join テーブル2 on 結合条件;
join句より右側にあるテーブル2を表示し、左側にあるテーブル1の情報を結合します
サンプル
次のような2つのテーブルを用意します。
tbl_hello;
tbl_language;
まずは、左側外部結合を試します
mysql> select tbl_hello.id, message, language from tbl_hello
left join tbl_language on tbl_hello.lang_id = tbl_language.id;
次に、右側外部結合を試します
mysql> select tbl_hello.id, message, language from tbl_hello
right join tbl_language on tbl_hello.lang_id = tbl_language.id;
on句の代わりにusing句というのもあります。
これを使うためには結合条件の列名が同じである必要があります。
私自身あまり使う経験がありませんでした。
コメント 0