Sobes.tech
Junior — Middle
106

Was ist der Unterschied zwischen INNER JOIN und LEFT JOIN beim Arbeiten mit Tabellen in SQL?

Antwort von AI

sobes.tech KI

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

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

Пример:

SELECT a.id, a.name, b.order_date
FROM customers a
INNER JOIN orders b ON a.id = b.customer_id;

-- вернёт только клиентов с заказами

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

-- вернёт всех клиентов, включая тех, у кого нет заказов (order_date будет NULL)