ホームページ >データベース >mysql チュートリアル >さまざまな SQL 結合タイプとは何ですか?また、それらはどのように機能しますか?
SQL 結合タイプ: 内部結合、外部結合、左結合、右結合についての深い理解
SQL 結合は、共通の列 (複数の列) に基づいて複数のテーブルのデータを結合するために使用されます。結合には、内部結合、外部結合、左結合、右結合の 4 つの主なタイプがあります。各タイプには、独自の特性とパフォーマンスに関する考慮事項があります。
内部結合
内部結合は、両方のテーブルで値が一致する行のみを返します。これは、結合条件が true である行のみを含むため、最も制限の厳しい結合タイプです。これは、別のテーブルに一致するデータがない行を除外することを意味します。
例:
<code class="language-sql">SELECT * FROM table1 INNER JOIN table2 ON table1.id = table2.id;</code>
参加を解除
左結合は、右側のテーブルに一致する行があるかどうかに関係なく、左側のテーブル内のすべての行を返します。これには、左側のテーブルのすべての行と、右側のテーブルの一致する行が含まれます。左側のテーブルに一致する行がない右側のテーブルの行には、NULL 値が返されます。
例:
<code class="language-sql">SELECT * FROM table1 LEFT JOIN table2 ON table1.id = table2.id;</code>
右結合
右結合は左結合と似ていますが、左のテーブルに一致する行があるかどうかに関係なく、右のテーブルのすべての行を返します。これには、右側のテーブルのすべての行と、左側のテーブルの一致する行が含まれます。左側のテーブルの行のうち、右側のテーブルに一致する行がない場合は、NULL 値が返されます。
例:
<code class="language-sql">SELECT * FROM table1 RIGHT JOIN table2 ON table1.id = table2.id;</code>
外部結合
外部結合は、左結合と右結合の組み合わせです。一致する行がもう一方のテーブルに存在するかどうかに関係なく、両方のテーブルからすべての行を返します。どちらかのテーブルの行で、もう一方のテーブルに一致する行が見つからない場合は、NULL 値が返されます。
例:
<code class="language-sql">SELECT * FROM table1 FULL OUTER JOIN table2 ON table1.id = table2.id;</code>
パフォーマンスノート
結合操作のパフォーマンスは、テーブル内の行数、結合条件、使用される結合の種類によって異なります。内部結合は、一致する値を持たない行を除外するため、外部結合よりも高速になる傾向があります。テーブルのサイズと結合条件に応じて、左結合と右結合のパフォーマンスは同様になる場合があります。
一般に、必要なデータが返される限り、最も制限の厳しい結合タイプを使用することをお勧めします。これにより、パフォーマンスが最適化され、返される不要な行の数が削減されます。
以上がさまざまな SQL 結合タイプとは何ですか?また、それらはどのように機能しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。