Sobes.tech
Back to questions
Junior — Middle
61

Объясните принцип работы внешнего соединения в SQL, включая его виды и случаи использования

Companies where asked
СБЕР дейвайсыСБЕР дейвайсы

Answer from AI

sobes.tech AI

Внешнее соединение (outer join) в SQL используется для объединения строк из двух таблиц, включая те строки, для которых нет соответствий в другой таблице.

Виды внешних соединений:

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

  • RIGHT OUTER JOIN (Правое внешнее соединение): Аналогично, но возвращает все строки из правой таблицы и соответствующие из левой.

  • FULL OUTER JOIN (Полное внешнее соединение): Возвращает все строки из обеих таблиц, заполняя NULL там, где нет соответствий.

Случаи использования:

  • Когда нужно получить полный список элементов из одной таблицы и дополнить их данными из другой, даже если соответствующих записей нет.
  • Для выявления несоответствий или отсутствующих данных между таблицами.

Пример:

SELECT a.id, a.name, b.order_id
FROM customers a
LEFT OUTER JOIN orders b ON a.id = b.customer_id;

Этот запрос вернёт всех клиентов и их заказы, если они есть, иначе в поле order_id будет NULL.