Встречается на собеседованиях • сегодня

В чем разница между 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).

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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