概要:このチュートリアルでは、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つ以上のテーブルからデータをクエリします。