SQL Server の JOINS: 例を含むチュートリアル

JOIN ステートメントを使用して、複数のテーブルからデータを取得できます。 SQL Server には主に 4 種類の JOINS があります。 すべての JOINS を学習します。 SQLサーバー 例を挙げて:

  • INNER JOIN/単純結合
  • 左外部結合/左結合
  • 右外部結合/右結合
  • 完全外部結合

INNER JOINは

このタイプの SQL サーバー JOIN は、結合条件が真であるすべてのテーブルから行を返します。構文は次のとおりです。

SELECT columns
FROM table_1 
INNER JOIN table_2
ON table_1.column = table_2.column;

これを説明するには、次の 2 つの表を使用します。

学生テーブル:

INNER JOINは

料金表:

INNER JOINは

次のコマンドは、SQL サーバーでの INNER JOIN を例とともに示します。

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
INNER JOIN Fee
ON Students.admission = Fee.admission

コマンドは以下を返します。

INNER JOINは

料金を支払った生徒にはお知らせします。 両方のテーブルで共通の値を持つ列、つまり入場列を使用しました。

左外部結合

このタイプの結合では、左側のテーブルのすべての行と、一致する値を持つ右側のテーブルのレコードが返されます。 例えば:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
LEFT OUTER JOIN Fee
ON Students.admission = Fee.admission

コードは以下を返します。

左外部結合

値が一致しないレコードは、それぞれの列で NULL に置き換えられます。

右外部結合

このタイプの結合では、右側のテーブルのすべての行が返され、左側のテーブルの値が一致する行のみが返されます。 例えば:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
RIGHT OUTER JOIN Fee
ON Students.admission = Fee.admission

OUTER JOINS SQL サーバーのステートメントは以下を返します。

右外部結合

上記の出力の理由は、入学列で一致すると、Fee テーブルのすべての行が Student テーブルで使用できるためです。

完全外部結合

このタイプの結合では、JOIN 条件が true でない場合、両方のテーブルから NULL 値を持つすべての行が返されます。 例えば:

SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid
FROM Students
FULL OUTER JOIN Fee
ON Students.admission = Fee.admission

このコードはFULL OUTER JOINSクエリに対して次の結果を返します。 SQL:

完全外部結合