SQLの内部結合と外部結合の違い

著者: Laura McKinney
作成日: 2 4月 2021
更新日: 12 5月 2024
Anonim
SQL初心者のためのテーブル結合:INNER JOINとOUTER JOINの違い
ビデオ: SQL初心者のためのテーブル結合:INNER JOINとOUTER JOINの違い

コンテンツ


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

  1. 比較表
  2. 定義
  3. 主な違い
  4. 結論

比較表

比較の根拠内部結合外部結合
ベーシック内部結合は、両方のテーブルから一致するタプルのみを出力します。外部結合は、両方のテーブルのすべてのタプルを表示します。
データベース内部結合によって返されるデータベースの潜在的なサイズは、外部結合よりも比較的小さくなります。外部結合は、比較的大きなデータベースを返します。
タイプタイプなし。左外部結合、
右外部結合、
および完全外部結合。

内部結合の定義

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

内部結合は例で説明できます。 studentテーブルとdepartmentテーブルの2つのテーブルがあります。ここで、内部結合が何を実行するかを理解できます。


SELECT Name、Sem、Deparment_name from Student INNER JOIN Department ON Student.Department_ID = Department.ID。

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

外部結合の定義

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

それらを一つ一つ理解しましょう。最初に、Left Outer Joinを使用します。

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


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

名前、学部名を学部の右外側参加学生から選択しますStudent.Department_ID = Depoartment.ID。

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

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

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

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

結論:

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