Команда CROSS JOIN
Команда CROSS JOIN используется для объединения
каждой строки первой таблицы с каждой строкой второй таблицы.
В результате формируется декартово произведение,
где количество строк равно произведению
количеств строк обеих таблиц.
Синтаксис
SELECT column_list FROM table_name
CROSS JOIN related_table
Таблицы для примеров
| id | name |
|---|---|
| 1 | Red |
| 2 | Blue |
| id | name |
|---|---|
| 1 | Small |
| 2 | Large |
Пример
Давайте сформируем все возможные комбинации цветов и размеров:
SELECT
colors.name AS color,
sizes.name AS size
FROM colors
CROSS JOIN sizes
ORDER BY colors.id, sizes.id
Результат выполнения кода:
| color | size |
|---|---|
| Red | Small |
| Red | Large |
| Blue | Small |
| Blue | Large |
Пример
Давайте после выполнения CROSS JOIN ограничим результат с помощью LIMIT:
SELECT
colors.name AS color,
sizes.name AS size
FROM colors
CROSS JOIN sizes
LIMIT 2
Результат выполнения кода:
| color | size |
|---|---|
| Red | Small |
| Red | Large |
Смотрите также
-
команду
JOIN,
которая связывает таблицы по условию -
команду
INNER JOIN,
которая соединяет только совпадающие строки -
команду
WHERE,
которая ограничивает результат после соединения -
команду
LIMIT,
которая обрезает количество строк