推奨されます, 2021

エディターズチョイス

SQLにおける内部結合と外部結合の違い

内部結合と外部結合はどちらも結合の種類です。 結合は、2つのリレーションまたはテーブルからのタプルを比較して結合します。 Inner Joinは自然結合を指定します。つまり、InnerキーワードなしでJoin句を書いた場合、自然結合操作を実行します。 内部結合と外部結合の潜在的な違いは、 内部結合は両方のテーブルから一致するタプルのみを返し、 外部結合は両方の比較されたテーブルからすべてのタプルを返すということです。 以下に示す比較チャートを使用して、内部結合と外部結合の他のいくつかの違いについて説明しましょう。

比較表

比較基準内部結合外部結合
基本内部結合は、両方のテーブルから一致タプルのみを出力します。外部結合は、両方のテーブルからすべてのタプルを表示します。
データベース内部結合によって返されるデータベースの潜在的なサイズは、外部結合よりも比較的小さいです。外部結合は比較的大きなデータベースを返します。
タイプ種類はありません。左外部結合、
右外部結合、
そして完全外部結合。

内部結合の定義

内部結合は、自然結合とも呼ばれます。 内部結合は2つのテーブルを比較し、両方のテーブルの一致タプルを結合します。 Join句はinnerキーワードなしで作成されるため、デフォルトの結合タイプとも呼ばれ、自然結合を実行します。 Join句がOuterキーワードなしで書かれている場合は、内部結合も実行されます。

内部結合は例で説明できます。 StudentテーブルとDepartmentテーブルの2つのテーブルがあります。 それでは、内部Joinが実行することを理解しましょう。

SELECT Name、Sem、Deparment_name from Student.Deartment_ID = Department.IDのStudent内部結合部から。

Student.Department_ID = Department.IDの場合、結果ではそれらのタプルのみが取得されることがわかります。 したがって、内部結合は2つのテーブルの一致タプルのみを結合すると言えます。

外部結合の定義

内部結合とは異なり、比較された両方のテーブルで同じ属性値を持つタプルのみが出力されます。 外部結合は、両方のテーブルのすべてのタプルを出力します。 外部結合には、 左外部結合右外部結合 、および完全外部結合の3つのタイプがあります。

一つ一つ理解していきましょう。 まず、Left Outer Joinを取りましょう。

学生の左外部から部署名、部署名を選択Student.Department_ID = Depoartment.ID

Student Tableのすべてのタプルが結果に表示されていることがわかります。

[名前]、[部署名]を部署の右外部から選択します。Student ON Student.Department_ID = Depoartment.ID。

Departmentテーブルのすべてのタプルが表示されていることがわかります。

「学生の完全外部参加部門から名前、部門名」を「Student.Department_ID = Depoartment.ID」で選択します。

両方のテーブルのすべてのタプルが結果に表示されていることがわかります。

内部結合と外部結合の主な違い

  1. 内部結合と外部結合の基本的な違いは、内部結合ではテーブルからの一致タプルのみが比較および結合されることです。 一方、外部結合は、比較対象の両方のテーブルからすべてのタプルを比較して結合します。
  2. 内部結合から取得された結果のデータベースサイズは、外部結合よりも小さくなります。
  3. Outer Join Left Outer Join、Righ Outer Join、およびFull Outer Joinの3種類があります。 しかし、内部結合にはそのような型はありません。

結論:

どちらの結合も非常に便利です。 使用方法はユーザーの要件によって異なります。

Top