DB

Oracle上でテーブル結合(内部結合・外部結合)をいろいろ試してみた

DB上でテーブル結合を行う方法には内部結合と外部結合があり、また、外部結合には左外部結合・右外部結合・完全外部結合の3種類がある。

今回は、Oracle上でいろいろなテーブル結合を行ってみたので、その結果を共有する。

前提条件

下記記事の「外部結合で利用するテーブルデータの作成」が完了していること。

Oracle上で外部結合でテーブル結合する際に条件指定を追加してみたOracle上でテーブルA, テーブルBを結合する際に、外部結合を利用すると、テーブルBにデータが含まれていない場合も、テーブルAのデー...

さらに、deptテーブルにDEPT_ID=’006’のデータを追加する。作成したテーブルデータの中身は、以下の通り。

前提条件_1

前提条件_2

やってみたこと

  1. 内部結合
  2. 左外部結合
  3. 右外部結合
  4. 完全外部結合

内部結合

内部結合とは、テーブルA(employee)とテーブルB(dept)をそのまま結合し、完全に一致したものを取得する方法のことをいう。その実行結果は、以下の通り。

内部結合_1

また、上記のSQL文のうち、以下のように「inner」を省略しても、同じように実行できる。

内部結合_2

また、以下のように、joinを使用しないSQL文でも、同じように実行できる。

内部結合_3
「FlexClip」はテンプレートとして利用できる動画・画像・音楽などが充実した動画編集ツールだったテンプレートとして利用できるテキスト・動画・画像・音楽など(いずれも著作権フリー)が充実している動画編集ツールの一つに、「FlexCli...

左外部結合

左外部結合とは、テーブルA(employee)とテーブルB(dept)を結合する際、テーブルA(employee)のデータを全て残すようにする方法のことをいう。その実行結果は、以下の通り。

左外部結合_1

また、上記のSQL文のうち、以下のように「outer」を省略しても、同じように実行できる。

左外部結合_2

また、以下のように、joinを使用しないSQL文でも、同じように実行できる。

左外部結合_3

なお、外部結合するテーブルに取得条件を加えた場合については、以下の記事を参照のこと。

Oracle上で外部結合でテーブル結合する際に条件指定を追加してみたOracle上でテーブルA, テーブルBを結合する際に、外部結合を利用すると、テーブルBにデータが含まれていない場合も、テーブルAのデー...



右外部結合

右外部結合とは、テーブルA(employee)とテーブルB(dept)を結合する際、テーブルB(dept)のデータを全て残すようにする方法のことをいう。その実行結果は、以下の通り。

右外部結合_1

また、上記のSQL文のうち、以下のように「outer」を省略しても、同じように実行できる。

右外部結合_2

また、以下のように、joinを使用しないSQL文でも、同じように実行できる。

右外部結合_3
「EaseUS Todo Backup」は様々な形でバックアップ取得が行える便利ツールだったパソコン内のデータを、ファイル/パーティション/ディスク等の様々な単位でバックアップしたり、バックアップのスケジュール設定や暗号化設定も...

完全外部結合

完全外部結合とは、テーブルA(employee)とテーブルB(dept)を結合する際、テーブルA(employee)とテーブルB(dept)のデータを全て残すようにする方法のことをいう。その実行結果は、以下の通り。

完全外部結合_1

また、上記のSQL文のうち、以下のように「outer」を省略しても、同じように実行できる。

完全外部結合_2

なお、「join」を指定しないSQL文では、完全外部結合については実行できない。

要点まとめ

  • テーブル結合を行う方法として、内部結合と3種類の外部結合(左外部結合・右外部結合・完全外部結合)がある。
  • 内部結合とは、テーブルAとテーブルBをそのまま結合し、完全に一致したものを取得する方法のことをいう。
  • 外部結合とは、テーブルAとテーブルBを結合する際、テーブルAまたはテーブルBのデータを全て残すようにする方法のことをいう。