Встречается на 2% собеседований по Python

В чем разница между INNER JOIN и LEFT JOIN в SQL

Основное различие между INNER JOIN и LEFT JOIN заключается в том, какие строки включаются в результат:

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

LEFT JOIN (или LEFT OUTER JOIN) возвращает все строки из левой таблицы (первой в запросе), даже если нет совпадений в правой таблице. В таком случае для правых столбцов будут значения NULL.

Пример:

sql
-- INNER JOIN (только заказы с клиентами)
SELECT orders.id, customers.name 
FROM orders
INNER JOIN customers ON orders.customer_id = customers.id;

-- LEFT JOIN (все заказы, даже без клиентов)
SELECT orders.id, customers.name 
FROM orders
LEFT JOIN customers ON orders.customer_id = customers.id;

Выбор между ними зависит от задачи: нужно ли включать записи без соответствий (LEFT) или только совпадающие (INNER).

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы