ベン図を使用して SQL 接続タイプを説明する
ベン図は SQL 接続を効果的に視覚的に表現したもので、ユーザーがさまざまなテーブルのデータがどのように結合されるかを理解するのに役立ちます。以下は、修正されたベン図を使用して表されたさまざまな接続タイプの概要です:
右上隅から時計回りに:
1. 内部結合 (円 B が赤、重なっている部分が緑)
-
目的: 2 つのテーブル間に一致する行のみを返します。
-
SQL ステートメント: SELECT A.Colour, B.Colour FROM A INNER JOIN B ON A.Colour = B.Colour
-
説明: SQL ステートメントはテーブル B を優先し、テーブル B を「ON」句の前に配置しますが、結果の行は 2 つのテーブル間で共有されるデータに焦点を当てます。
2. 内部結合 (B 円のみが含まれ、重なっている部分は緑色で表示されます)
-
目的: サークル A の行に接続されているサークル B の行のみを返します (この場合、何もありません)。
-
SQL ステートメント: SELECT A.Colour, B.Colour FROM A INNER JOIN B ON A.Colour NOT IN ('Green','Blue')
-
説明: 結合条件は A サークルから特定の値を除外し、結果として得られる行を B サークルに効果的に制限します。
3. 相互接続 (すべてのデータを含む)
-
目的: 重複または一致があるかどうかに関係なく、円 A のすべての行と円 B のすべての行を結合します。
-
SQL ステートメント: SELECT A.Colour, B.Colour FROM A CROSS JOIN B
-
説明: 結果として得られる行数は、各テーブルの行数の積です (この場合は 4x4 = 16)。
4. 左外部結合 (A 円を含む、重なっている部分は緑色)
-
目的: サークル A 内のすべての行 (重複の有無に関係なく) が含まれ、サークル B 内の一致する行を接続します。
-
SQL ステートメント: SELECT A.Colour, B.Colour FROM A LEFT OUTER JOIN B ON A.Colour = B.Colour
-
手順: サークル A 内の一致しない行をすべて保持し、サークル B の列で NULL 値を使用します。
5. 左外部結合 (円 A を除く、重なっている部分は緑色)
-
目的: 前の結合と似ていますが、サークル B のどの行にも 接続されていないサークル A の行のみが含まれます。
- SQL ステートメント: SELECT A.Colour, B.Colour FROM A LEFT OUTER JOIN B ON A.Colour = B.Colour WHERE B.Colour IS NULL
- 手順: 円 A 内の一致しない行を分離し、この場合は個別の赤い行を生成します。
6. 右外部結合 (B 円を含む、重なっている部分は緑色)
-
目的: 左外部結合と似ていますが、サークル B に一致しない行を保持し、サークル A の列で NULL 値を使用します。
-
SQL ステートメント: SELECT A.Colour, B.Colour FROM A RIGHT OUTER JOIN B ON A.Colour = B.Colour
-
注: この例では、サークル A に一致するものがないため、サークル B の青い行のみが含まれています。
7. 完全外部結合 (すべてのデータが含まれる)
-
目的: サークル A とサークル B 内のすべての行を結合し、一致しない行を保持し、一致しない行の列を NULL 値で埋めます。
-
SQL ステートメント: SELECT A.Colour, B.Colour FROM A FULL OUTER JOIN B ON A.Colour = B.Colour
-
注: 結果の行には 2 つの円が含まれており、一致しない行は NULL 値で展開されます。
以上がベン図はさまざまな種類の SQL 結合をどのように図示しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。