CROSS JOIN создает декартово произведение двух таблиц — каждая строка из таблицы A соединяется с каждой строкой из таблицы B. Если в таблице A 10 строк, а в таблице B 5 строк, результат содержит 50 строк. Для него не требуется условие соединения.
INNER JOIN возвращает только те строки, где указанное условие выполняется для обеих таблиц, отфильтровывая несвязанные записи.
-- CROSS JOIN
SELECT * FROM sizes CROSS JOIN colors;
-- INNER JOIN
SELECT * FROM orders
INNER JOIN customers ON orders.customer_id = customers.id;
CROSS JOIN:
INNER JOIN:
CROSS JOIN между таблицей из 8 строк и таблицей из 12 строк всегда будет производить ровно 96 строк в результирующем наборе.
Новый — ещё не проверен сообществом
Вы