24

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

4

4 に答える 4

39

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

ここに画像の説明を入力してください

于 2012-08-08T09:25:39.757 に答える
13

クロスジョイン

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

クロスジョイン

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

ソース:
2009年4月13日PINAL DAVE
SQL SERVER – JOINの概要–JOINの基本

于 2014-05-23T19:56:51.863 に答える
3

両方の結合で同じ結果が得られます。相互結合はSQL99結合であり、デカルト積はOracle独自の結合です。

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

于 2012-08-08T10:50:53.940 に答える
0

デカルト積には条件がなく、結果セットの合計行はr = r1 * r2になります。ここで、r1は最初の関係にあり、r2は2番目の関係にあります。結合は特定の条件を満たす

于 2021-10-15T07:26:40.967 に答える