Back to questions
Junior — Middle
86
Чем отличаются типы соединений INNER и LEFT JOIN при работе с таблицами в SQL?
Answer from AI
sobes.tech AI
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)