Я работаю над SQL Server 2008 и хочу узнать о том, что является отличием между Cartesian Product и Cross Join. Может кто-нибудь, пожалуйста, помогите мне очистить концепцию?
В чем разница между декартовым продуктом и кросс-соединением?
Ответ 1
Когда вы сделаете Cross join, вы получите декартовский продукт. Каждая строка в первой таблице сопоставляется с каждой строкой во второй таблице
Ответ 2
CROSS JOIN
Это объединение является декартовым объединением, не требующим какого-либо условия присоединиться. Набор результатов содержит записи, которые являются умножением номер записи из обеих таблиц.
/* CROSS JOIN */
SELECT t1.*,t2.*
FROM Table1 t1
CROSS JOIN Table2 t2
Сорс:
APRIL 13, 2009 by PINAL DAVE
SQL SERVER - Введение в JOINs - Основные из JOINs
Ответ 3
Посмотрите на следующую статью
SQL SERVER - Введение в JOINs - Основные из JOINs
В частности, в разделе CROSS JOIN
Ответ 4
Оба соединения дают одинаковый результат. Перекрестное соединение - это соединение SQL 99, а декартово-продукт - совместное использование Oracle.
Перекрестное соединение, не содержащее предложение "where", дает декартово произведение. Декартовой набор результатов продукта содержит количество строк в первой таблице, умноженное на количество строк во второй таблице. (Результат в более высоком измерении в результирующем наборе).