Чем отличаются операторы LEFT JOIN и FULL JOIN в SQL при соединении таблиц?

Операторы LEFT JOIN и FULL JOIN используются для объединения строк из двух таблиц, но отличаются по тому, какие строки они включают в результат.

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

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

Операторы LEFT JOIN и FULL JOIN используются для объединения строк из двух таблиц, но отличаются по тому, какие строки они включают в результат.

Подробный разбор

Ответ с пояснениями

Операторы LEFT JOIN и FULL JOIN используются для объединения строк из двух таблиц, но отличаются по тому, какие строки они включают в результат.

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

Пример:

-- LEFT JOIN
SELECT * FROM A LEFT JOIN B ON A.id = B.a_id;

-- FULL JOIN
SELECT * FROM A FULL JOIN B ON A.id = B.a_id;

Таким образом, LEFT JOIN сохраняет все строки левой таблицы, FULL JOIN — все строки обеих таблиц.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее