Sobes.tech
Back to questions
Junior — Middle
61

Как различаются типы соединений в SQL и в чем их особенности?

Companies where asked
Prooftech
СБЕРСБЕР

Answer from AI

sobes.tech AI

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

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

Пример INNER JOIN:

SELECT employees.name, departments.name
FROM employees
INNER JOIN departments ON employees.department_id = departments.id;

Этот запрос вернёт имена сотрудников и их отделов только для тех сотрудников, у которых есть назначенный отдел.