-1

Inner Join がクロス結合であり、条件を満たすレコードを取得するとLEFT OUTER JOIN考えることができる場合、a はそれに加えて、条件を満たさない左側のテーブルの 1 つのレコードと考えることができます。

言い換えると、(条件が満たされない場合でも) 左のレコードで「簡単に実行できる」クロス結合ではありません。これは、左のレコードが何度も出現する可能性があるためです (右のテーブルにレコードが存在する回数だけ)。 )。

つまり、LEFT OUTER JOIN条件を満たしているレコードと、条件を満たさない LEFT TABLE からの 1 つのレコードを含む Cross JOIN ですか?

4

1 に答える 1

1

左外部結合を「条件を満たしているレコードと、条件を満たさない左テーブルの 1 つのレコードとのクロス結合」と言うのは正しくないと思います。

条件のない内部結合は、クロス結合と同じです。x での内部結合は、x でのクロス結合と同じです。ただし、より明示的で間違いにくいため、最初の方法をお勧めします。

ただし、外部結合では、「条件を満たさない」行が常に得られるとは限りません。左外部結合と内部結合の違いは次のとおりです。

  • 内部結合: 左側のテーブルの行の結合条件が右側のテーブルのすべての行で失敗した場合、その行は取得されません。
  • 外部結合: 左のテーブルの行の結合条件が右のテーブルのすべての行で失敗した場合、右のテーブルの列が NULL の左のテーブルから行を取得します。

一致する行と一致しない行の両方を取得するわけではありません。最初の状況または 2 番目の状況のいずれかになります。あなたの声明は、あなたが両方を得ることができることを示唆しているようです。

于 2010-04-25T11:39:56.967 に答える