Sobes.tech
Junior — Middle
123

Wat is het verschil tussen INNER en LEFT JOIN types bij het werken met tabellen in SQL?

Antwoord van 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)