Back to questions
СБЕР
Junior — Middle
95
Чем отличаются операторы CROSS JOIN и INNER JOIN при объединении таблиц в SQL?
Companies where asked
Answer from AI
sobes.tech AI
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, т.к. только они совпадают