Эффект выдачи внутреннего соединения такой же, как и указание перекрестного соединения с условием объединения в предложении WHERE. Я заметил, что многие люди в моей компании используют кросс-соединения, где я буду использовать внутренние соединения. Я не заметил значительного выигрыша в производительности после изменения некоторых из этих запросов и задавался вопросом, было ли это просто совпадением или СУБД прозрачно анализирует такие проблемы (MySql в нашем случае). И вот конкретный пример для обсуждения:
SELECT User.*
FROM User, Address
WHERE User.addressId = Address.id;
SELECT User.*
FROM User
INNER JOIN Address ON (User.addressId = Address.id);