Sobes.tech
Back to questions
Middle
4

Какие виды JOIN вы знаете? Какой JOIN делает декартово произведение?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Основные виды JOIN в SQL:

  • INNER JOIN — возвращает строки, у которых есть совпадения в обеих таблицах.
  • LEFT JOIN (LEFT OUTER JOIN) — возвращает все строки из левой таблицы и совпадающие из правой, если нет совпадения — NULL.
  • RIGHT JOIN (RIGHT OUTER JOIN) — наоборот, все из правой и совпадающие из левой.
  • FULL JOIN (FULL OUTER JOIN) — возвращает все строки из обеих таблиц, где нет совпадений — NULL.
  • CROSS JOIN — возвращает декартово произведение двух таблиц, то есть все возможные комбинации строк из первой и второй таблиц.

Декартово произведение делает именно CROSS JOIN.

Пример CROSS JOIN:

SELECT * FROM TableA CROSS JOIN TableB;

Если в TableA 3 строки, а в TableB 4, результат будет 12 строк (3*4).