В чем разница между декартовым продуктом и кросс-соединением?

Я работаю над SQL Server 2008 и хочу узнать о том, что является отличием между Cartesian Product и Cross Join. Может кто-нибудь, пожалуйста, помогите мне очистить концепцию?

Ответ 1

Когда вы сделаете Cross join, вы получите декартовский продукт. Каждая строка в первой таблице сопоставляется с каждой строкой во второй таблице

enter image description here

Ответ 2

CROSS JOIN

Это объединение является декартовым объединением, не требующим какого-либо условия присоединиться. Набор результатов содержит записи, которые являются умножением номер записи из обеих таблиц.

cross join

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

Сорс:
APRIL 13, 2009 by PINAL DAVE
SQL SERVER - Введение в JOINs - Основные из JOINs

Ответ 4

Оба соединения дают одинаковый результат. Перекрестное соединение - это соединение SQL 99, а декартово-продукт - совместное использование Oracle.

Перекрестное соединение, не содержащее предложение "where", дает декартово произведение. Декартовой набор результатов продукта содержит количество строк в первой таблице, умноженное на количество строк во второй таблице. (Результат в более высоком измерении в результирующем наборе).