web-dev-qa-db-ja.com

デカルト積とクロスジョインの違いは何ですか?

私はSQL Server 2008に取り組んでおり、デカルト積とクロス結合の違いについて知りたいと思っています。誰かがコンセプトをクリアするのを手伝ってくれませんか?

20
Vikrant More

クロス結合すると、デカルト積が得られます。最初のテーブルの各行は、2番目のテーブルのすべての行と一致します

enter image description here

32
Joe G Joseph

CROSS JOIN

この結合は、結合する条件を必要としないデカルト結合です。結果セットには、両方のテーブルのレコード番号を乗算したレコードが含まれています。

cross join

/* CROSS JOIN */
SELECT t1.*,t2.*
FROM Table1 t1
CROSS JOIN Table2 t2

Sorce:
2009年4月13日、PINAL DAVE著
SQL SERVER – JOINの概要– JOINの基本

8
Michel Ayres

両方の結合は同じ結果になります。クロス結合はSQL 99結合であり、デカルト積はOracle独自結合です。

「where」句のないクロス結合は、デカルト積を与えます。デカルト積の結果セットには、最初のテーブルの行数に2番目のテーブルの行数を掛けたものが含まれます。 (結果セットの次元が高くなります)。

2
NG.