外部結合 【OUTER JOIN句】
概要
外部結合(OUTER JOIN句)とは、リレーショナルデータベースのテーブルを連結する操作の一つで、二つのテーブルからそれぞれ特定のフィールドを指定し、両者の値が一致するレコード同士は連結し、一致するものが存在しないレコードはそのまま抽出するもの。SQL文ではSELECT文のOUTER JOIN句で指定する。SQL文ではOUTER JOIN句を用いて「SELECT * FROM テーブル1 LEFT OUTER JOIN テーブル2 ON テーブル1.フィールド1=テーブル2.フィールド2」のように指定する。この場合、テーブル1のフィールド1とテーブル2のフィールド2の値が一致するレコード同士は連結し、テーブル1の各フィールドの後ろにテーブル2の各フィールドが連結されたレコードを返す。また、テーブル1のレコードのうち、相手方に一致するものが存在しないものも合わせて返す。
左外部結合/右外部結合/完全外部結合
この例ではOUTER JOIN句の前に「LEFT」を指定したため、SQL文で左側に記述されるテーブル1のレコードが全件抽出され、テーブル2で一致するものがないレコードは抽出されない。これを「左外部結合」という。
一方、この箇所に「RIGHT OUTER JOIN」と指定すると、結合したレコードに加えてSQL文で右側にあるテーブル2の残りのレコードがすべて抽出され、テーブル1のうち一致するものがないレコードは抽出しないという逆の動作になる。これを「右外部結合」という。
システムによっては「FULL OUTER JOIN」を指定できる場合もあり、結合したレコードと両テーブルに残ったすべてのレコードを合わせて抽出する。これを「完全外部結合」あるいは「全外部結合」という。
(2021.9.7更新)