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 つの表を使用します。
学生テーブル:
料金表:
次のコマンドは、SQL サーバーでの INNER JOIN を例とともに示します。
SELECT Students.admission, Students.firstName, Students.lastName, Fee.amount_paid FROM Students INNER JOIN Fee ON Students.admission = Fee.admission
コマンドは以下を返します。
料金を支払った生徒にはお知らせします。 両方のテーブルで共通の値を持つ列、つまり入場列を使用しました。
左外部結合
このタイプの結合では、左側のテーブルのすべての行と、一致する値を持つ右側のテーブルのレコードが返されます。 例えば:
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: