Чем отличаются операторы CROSS JOIN и INNER JOIN при объединении таблиц в SQL?

CROSS JOIN и INNER JOIN — это разные типы объединения таблиц в SQL:

Короткий ответ

Что ответить на собеседовании

CROSS JOIN и INNER JOIN — это разные типы объединения таблиц в SQL:

Подробный разбор

Ответ с пояснениями

CROSS JOIN и INNER JOIN — это разные типы объединения таблиц в SQL:

  • CROSS JOIN (декартово произведение): возвращает все возможные комбинации строк из обеих таблиц. Если в первой таблице N строк, а во второй M, результат будет содержать N×M строк. Обычно используется редко, когда нужно получить все пары.
  • INNER JOIN: возвращает только те строки, у которых есть совпадения по условию соединения (обычно по ключу). Если строки не совпадают, они не попадают в результат.

Пример:

-- Таблица A
id | name
---|------
1  | Alice
2  | Bob

-- Таблица B
id | city
---|-------
1  | NY
3  | LA

-- CROSS JOIN
SELECT * FROM A CROSS JOIN B;
-- Результат: 2 строки из A × 2 строки из B = 4 строки

-- INNER JOIN
SELECT * FROM A INNER JOIN B ON A.id = B.id;
-- Результат: только строки с id=1, т.к. только они совпадают

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее