概要:このチュートリアルでは、SQLServerの使用方法を学習しますFULL OUTER JOIN 2つ以上のテーブルからデータをクエリします。
SQLServerの完全外部結合の概要
FULL OUTER JOINは、次のような結果セットを返します。左右両方のテーブルの行。左側のテーブルの行に一致する行が存在しない場合、右側のテーブルの列にはnullが含まれます。同様に、右側のテーブルの行に一致する行が存在しない場合、左側のテーブルの列にはnullが含まれます。
次に、FULL OUTER JOIN 2つのテーブルを結合する場合T1とT2:
Code language: SQL (Structured Query Language) (sql)
OUTERキーワードはオプションであるため、次のクエリに示すようにスキップできます。
Code language: SQL (Structured Query Language) (sql)
この構文では:
- まず、左側のテーブル
T1をFROM句で指定します。 - 次に、適切なテーブル
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つ以上のテーブルからデータをクエリします。