左結合と左外結合の差

Anonim

左結合と左外結合のいずれかになります。では、さまざまなデータセットからのレコードの結合に結合が使用されます。結合は、内部結合または外部結合のいずれかです。内部結合は、内部の反対である外部結合とは対照的に、両方のテーブルで一致するレコードを返します。したがって、外部結合はどちらのテーブルにも一致しないレコードを返します。右外部結合と左外部結合の違いについては後述します。

<! - > - >

差異

前述のように、内部結合は、比較される2つのテーブルに存在するレコードのセットのみを生成します。一方、完全外部結合は、比較中の両方のテーブルに存在するすべてのレコードの完全な集合を生成するものです。一致がない場合、一致しない一致にはnullが含まれます。

左外部結合には、最初のテーブルからのレコードの完全なセットが含まれ、対応する結果が対応するテーブルの結果と共に使用可能になります。一致する結果がない場合、右側にはnullが含まれます。右側のテーブルではなく、左側のテーブルのみにレコードを生成するには、 'where'句の使用が有効になります。

<! - 2 - >

右側の表と左側の表の一意のレコードを作成するには、完全外部結合を使用することをお薦めします。完全外部結合を実行した後、「where」節を使用して、「右」と「左」の両方から不要な結果を除外します。さらに、デカルト結合を使用すると、左右のすべてを結合するのに役立ちます。これは時には求められているものではないかもしれませんが、時々現れるものです。ジョインは、最大16行のデータセットを提供する強力なデータセットを生成します。多くの場合、予想よりもはるかに多くのデータセットが生成されます。大量のデータセットを取得しても、わずかな非互換性によってシステム全体が損なわれる可能性があるため、これらの結合は非常に危険です。

<! - 3 - >

Microsoft SQLサーバの互換性も求めているプロジェクトを扱う場合、左外部結合の使用に由来する利点があります。最初のレコードが返された後、右のレコードがジョインされ、最後に左のレコードがジョインされて、リターンシーケンスが開始されます。 SQL環境での左結合または左外結合ステートメントの使用は、まったく同じステートメントを参照します。これは、本質的には、左結合が使用されるか左の外部結合が使用されるかに応じて、期待される結果に違いがないことを意味する。環境がMicrosoft SQLサーバーにない限り、結果は似ています。外側のキーワードは、結果が何らかの形で変わらないので、心配することなく使用することも、省略することもできます。

外部ジョインは完全なセットを生成します

完全結合の使用後に一意のレコードを生成するために使用される節

デカルト結合は、テーブルの左右の要素の両方をリンクします。

Microsoft SQL Server

を使用しているときに左結合と左外結合が使用されている点に大きな違いがあります。左結合または左外結合ステートメントの使用はまったく同じステートメントを参照します。違いはないので、左外部結合の使用をお勧めします。