Sobes.tech
Назад к вопросам
Junior — Middle
106

Объясните различия между различными типами соединений таблиц в SQL.

Ответ от нейросети

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 users.name, orders.id
FROM users
LEFT JOIN orders ON users.id = orders.user_id;

Этот запрос вернёт всех пользователей и их заказы, если они есть; если заказов нет — поля из orders будут NULL.