Sobes.tech
Junior — Middle
133

Erklären Sie den Unterschied zwischen INNER JOIN und OUTER JOIN in SQL und in welchen Situationen jeder von ihnen verwendet wird.

Unternehmen wurden gefragt
СБЕР ТехСБЕР Тех

Antwort von AI

sobes.tech KI

INNER JOIN возвращает только те строки, у которых есть совпадения в обеих таблицах по условию соединения.

OUTER JOIN возвращает все строки из одной таблицы и соответствующие строки из другой. Если совпадений нет, то в местах отсутствующих данных будут NULL.

Виды OUTER JOIN:

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

Пример использования:

  • INNER JOIN — когда нужны только связанные данные, например, заказы с существующими клиентами.
  • LEFT OUTER JOIN — когда нужно получить все клиенты, включая тех, у кого нет заказов.

Пример SQL:

SELECT customers.name, orders.id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;

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