Junior — Middle
Care este diferența dintre tipurile de join INNER și LEFT JOIN atunci când lucrați cu tabele în SQL?
sobes.tech AI
Răspuns de la 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)