SQLServerの完全外部結合

概要:このチュートリアルでは、SQLServerの使用方法を学習しますFULL OUTER JOIN 2つ以上のテーブルからデータをクエリします。

SQLServerの完全外部結合の概要

FULL OUTER JOINは、次のような結果セットを返します。左右両方のテーブルの行。左側のテーブルの行に一致する行が存在しない場合、右側のテーブルの列にはnullが含まれます。同様に、右側のテーブルの行に一致する行が存在しない場合、左側のテーブルの列にはnullが含まれます。

次に、FULL OUTER JOIN 2つのテーブルを結合する場合T1T2

Code language: SQL (Structured Query Language) (sql)

OUTERキーワードはオプションであるため、次のクエリに示すようにスキップできます。

Code language: SQL (Structured Query Language) (sql)

この構文では:

  • まず、左側のテーブルT1FROM句で指定します。
  • 次に、適切なテーブルT2と結合述語を指定します。

次のVenn図は、FULL OUTER JOIN

SQLServerの完全外部結合の例

完全外部結合を示すために、サンプルテーブルを設定しましょう。

まず、新しいを作成します。 pmという名前のスキーマ。これはプロジェクト管理を表します。

Code language: SQL (Structured Query Language) (sql)

次に、iv id = “という名前の新しいテーブルを作成します。 pmスキーマの273dfc5396 “>

およびmembers

各メンバーのみが参加できるとします。 1つのプロジェクトで、各プロジェクトには0人以上のメンバーがいます。プロジェクトがアイデア段階にあるため、メンバーが割り当てられていません。

次に、projectsとテーブル:

その後、projectsテーブルとmembersテーブルからデータをクエリします:

Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)

最後に、FULL OUTER JOINを使用して、projectsおよびmembersテーブルからデータをクエリします。

出力は次のとおりです:

この例では、クエリはプロジェクトに参加しているメンバー、プロジェクトに参加していないメンバー、およびメンバーがいないプロジェクトを返しました。

参加していないメンバーを検索するには任意のプロジェクトとプロジェクトw hichにメンバーがない場合は、上記のクエリにWHERE句を追加します。

次の図に出力を示します:

出力に明確に示されているように、Jack Danielはどのプロジェクトにも参加しておらず、Develop Mobile Sales Platformにはメンバーがいません。

このチュートリアルでは、SQLServerフルアウターの使用方法を学習しました。結合して、2つ以上のテーブルからデータをクエリします。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です