К списку
SQL и базы данныхMiddleТехническое

Как работают различные типы JOIN в SQL для объединения таблиц

Краткий ответ

JOIN в SQL объединяет строки из нескольких таблиц на основе общих столбцов. Основные виды — INNER, LEFT, RIGHT и FULL JOIN — определяют, какие записи попадут в итоговый результат.

Развёрнуто

Краткий ответ

Операция JOIN в SQL используется для соединения данных из двух или более таблиц по совпадающим значениям в определённых столбцах. В зависимости от типа JOIN меняется набор строк, включаемых в итоговый результат.


Как это работает

JOIN объединяет таблицы, сопоставляя строки по ключевым столбцам. Основные виды JOIN:

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

Пример

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

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

Что важно знать на собеседовании

  • Различия между INNER, LEFT, RIGHT и FULL JOIN по возвращаемым данным.
  • Как JOIN влияет на производительность запросов и важность индексов.
  • Когда лучше использовать JOIN, а когда подзапросы или другие методы объединения.
  • Особенности NULL-значений при объединении таблиц.
  • Возможные ошибки при неправильном использовании условий соединения.

Тема: SQL и базы данных | Уровень: middle