Sobes.tech
Back to questions
Junior — Middle
53

Можете объяснить различия между различными типами соединений таблиц в SQL?

Companies where asked
OkkoOkko

Answer from AI

sobes.tech AI

В SQL существуют разные типы соединений (JOIN), которые позволяют объединять строки из двух таблиц по определённому условию:

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

Пример:

SELECT a.id, b.value
FROM A a
LEFT JOIN B b ON a.id = b.a_id;

Здесь будут все записи из таблицы A, а из B — только совпадающие по условию, остальные NULL.

Выбор типа JOIN зависит от задачи и того, какие данные нужно получить.