SSブログ

データベースの外部結合について (MySQL) [開発]

外部結合についてついつい忘れてしまいがちなので、備忘録としてまとめます。
動作確認をするデータベースは 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_hello_20141005.png

tbl_language;
tbl_language_20141005.png

まずは、左側外部結合を試します
mysql> select tbl_hello.id, message, language from tbl_hello
            left join tbl_language on tbl_hello.lang_id = tbl_language.id;

left_join_20141005.png

次に、右側外部結合を試します
mysql> select tbl_hello.id, message, language from tbl_hello
            right join tbl_language on tbl_hello.lang_id = tbl_language.id;

right_join_20141005.png

on句の代わりにusing句というのもあります。
これを使うためには結合条件の列名が同じである必要があります。
私自身あまり使う経験がありませんでした。
nice!(0)  コメント(0) 
共通テーマ:blog

nice! 0

コメント 0

コメントを書く

お名前:[必須]
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。