Цель таких оптимизаций — это сделать так, чтобы база делала как можно меньше, а приложение, которое работает с базой, как можно больше. Ведь базу трудно масштабировать, а серверов, на которых крутится приложение, добавить легко.
Если у вас один сервер под приложение и под базу, то такая оптимизация вредна, потому что приложение не сделает быстрее то, что сделает база в большинстве случаев. Поэтому надо использовать inner join.
Если Вы интересуетесь из академических соображений или уже готовы к закупкам новых серверов, то первый вариант лучше.