Статья Автор: Деникина Н.В., Деникин А.В.

Кросс-соединение (CROSS JOIN)

CROSS JOIN (картезианское произведение) соединяет каждую строку одной таблицы с каждой строкой другой таблицы.
Общее количество строк в результате будет равно произведению числа строк в обеих таблицах.

Синтаксис:

SELECT * FROM table1 CROSS JOIN table2; 

Пример

Таблица products (Товары):

product_id | product_name
-------------------------
1          | Laptop
2          | Phone

Таблица stores (Магазины):

store_id   | store_name
------------------------
1          | Store A
2          | Store B

Запрос:

SELECT products.product_name, stores.store_name 
FROM products 
CROSS JOIN stores; 

Результат:

product_name | store_name
--------------------------
Laptop       | Store A
Laptop       | Store B
Phone        | Store A
Phone        | Store B
 

Когда использовать CROSS JOIN

  1. Для анализа всех возможных комбинаций между двумя наборами данных.
  2. Для генерации тестовых данных.
  3. В ситуациях, где требуется получить полное картезианское произведение.
Пропустить Навигационные Ссылки.
Чтобы оставить комментарий нужна авторизация
Печать