ホーム > MySQL > テーブルの結合

MySQL -テーブルの結合-

リレーショナルデータベースは、「正規化」という作業を行ない、いくつかのテーブルに分割して管理することが一般的です、
そして、分割されたテーブルをもう一度、キーどうしで関連付けて1つのデータに統合していくことが結合という処理です。

内部結合

内部結合とは、テーブル間の主キー、外部キーを紐付け、キーどうしの値が一致するデータだけを取得する結合のことです。

内部結合を行うには、INNER JOIN ~ ON句を使用します。

構文

SELECT 列名1…  FROM テーブル名1
  INNER JOIN テーブル2
  ON テーブル名1.キー = テーブル名2.キー
  [WHERE/ORDER BY句など…];

結合を行う場合、フィールド名はどのテーブルに属するものなのかを明確にするため「テーブル名.フィールド名」の 形式で記述することが一般的です。

外部結合

結合するテーブル「双方」に存在するデータだけを取得する内部結合に対して、外部結合を 利用することで、「結合する」片方のテーブルにしか存在しないデータを 取り出すことができます。

外部結合には、左外部結合と右外部結合があります。

左外部結合

左外部結合とは、両テーブルでキーが一致するレコードと左テーブル(テーブル名1)の 全レコードが取得できます。

左外部結合を行うには、LEFT OUTER JOIN ~ ON句を使用します。

構文

SELECT 列名1,列名2…  FROM テーブル名1
  LEFT OUTER JOIN テーブル2
  ON テーブル名1.キー = テーブル名2.キー
  [WHERE/ORDER BY句など…];

右外部結合

右外部結合とは、両テーブルでキーが一致するレコードと右テーブル(テーブル名2)の 全レコードが取得できます。

右外部結合を行うには、RIGHT OUTER JOIN ~ ON句を使用します。

構文

SELECT 列名1,列名2…  FROM テーブル名1
  RIGHT OUTER JOIN テーブル2
  ON テーブル名1.キー = テーブル名2.キー
  [WHERE/ORDER BY句など…];

<< 前のページへ次のページへ >>