Back to questions
Okko
Junior — Middle
53
Можете объяснить различия между различными типами соединений таблиц в SQL?
Companies where asked
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 зависит от задачи и того, какие данные нужно получить.