データベース千夜一夜第12回

テーブルの関連付け(2)~内部結合と外部結合 長谷川裕行
有限会社 手國堂

テーブルを関連付ける方法は1つではありません。テーブルを関連付けるために双方のフィールド同士を条件式によってつなぐと、その結果どのようなレコードを取り出すのかが明らかになります。これを「結合」と呼び、その形態によって表示される結果は変わってきます。

今回は、一般的な処理で用いられる様々な結合方法を総ざらえします。いろいろな記述方法があって複雑に見えますが、基本事項を理解しておけば難しくありません。


サンプル・データベースの扱いについて
前回から、新しいサンプル・データベースを使っています。サンプル・データベースの登録方法については、前々回(第9回)の記事から「新しいサンプルデータベースの準備」の項をお読みください。

今回紹介しているSQLを実行しても、サンプル・データベースの内容は書き換えられません。従って、データベースのバックアップを取る必要はありません。

- 目次 -
最も基本的な関連付け
WHERE句による条件の指定
表示されないレコード
一致するレコードだけを抽出する
内部結合と等結合
INNER JOINによる内部結合
通常は「=」で結ぶ
外部結合
参照されていないレコードを取り出す
値のないフィールドは“NULL”になる
外部結合
右外部結合と左外部結合
外部結合のあれこれ
外部結合の左右に決まりはない
WHERE句による外部結合
完全外部結合
すべてのレコードを表示する
存在しない値は“NULL”になる
結合のまとめ
内部結合~INNER JOIN
左外部結合~LEFT OUTER JOIN
右外部結合~RIGHT OUTER JOIN
完全外部結合~FULL OUTER JOIN
あとがき
長谷川 裕行 (はせがわ ひろゆき)
有限会社 手國堂 代表取締役   http://www.hirop.com/

大阪芸術大学 写真学科講師。フリーライター。日経ソフトウェアなどに連載。
『ソフトウェアの20世紀』、『独習SQL』など著書多数。

Copyright © MESCIUS inc. All rights reserved.