SQLLab
JOINНачальный

INNER JOIN

Возвращает только строки, у которых есть совпадение в обеих таблицах.

Синтаксис
SELECT ... FROM t1 INNER JOIN t2 ON t1.id = t2.t1_id;

Объяснение

INNER JOIN — самый распространённый тип соединения. Строки без пары в другой таблице не попадают в результат. Производительность: всегда добавляй индекс на колонку соединения (обычно foreign key). JOIN без индекса = вложенные циклы O(n*m).

Пример

-- Заказы с информацией о покупателе
SELECT o.id, o.total, u.name, u.email
FROM orders o
INNER JOIN users u ON u.id = o.user_id
WHERE o.status = 'paid';