自然結合と内部結合の違いのナビゲート
データベース クエリの領域では、自然結合と内部結合という 2 つの一般的なタイプの結合が登場します。が加わります。どちらも、共有列の値に基づいて複数のテーブルの行を結合するという目的を共有していますが、アプローチと結果は異なります。
自然結合: 共有列名の結合
自然join は、結合されたテーブル全体で同じ名前を持つすべての列を自動的に識別し、ペアにします。これらの一致する列に基づいて行をバインドすることにより、冗長性が排除され、一意の列のみを含むテーブルが作成されます。指定された例では:
TableA: |Column1 | Column2 | TableB: |Column1 | Column3 |
Column1 の自然結合により次の結果が得られます:
+------------+------+--------+ | Column1 | Column2 | Column3 | +------------+------+--------+ | 1 | 2 | 3 | +------------+------+--------+
共有列である Column1 は出力では省略されます。
内部結合: 正確な列参照
自然なものとは異なりますこれに対応するものとして、内部結合では、照合に使用される列を明示的に指定します。これにより、結合操作を正確に制御できます。同じ例で、結合条件として Column1 を使用する内部結合は次を返します。
+------------+------+--------+--------+ | a.Column1 | a.Column2 | b.Column1 | b.Column3 | +------------+------+--------+--------+ | 1 | 2 | 1 | 3 | +------------+------+--------+--------+
a.Column1 と b.Column1 の両方が出力に保持されます。元の列名を維持することが重要な場合は、これが望ましい場合があります。
正しい結合の選択
どの結合を使用するかの決定は、特定の要件に左右されます。冗長な列を避けることが優先される場合は、自然結合が効率的であることがわかります。ただし、明示的な列参照が最も重要な場合は、内部結合を使用するとより優れた制御が可能になります。
以上が自然結合と内部結合: それぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。