INNER JOIN е ANSI синтаксис, който трябва да използвате.
Обикновено се счита за по-четим, особено когато се присъедините към много таблици.
Може също така лесно да бъде заменен с OUTER JOIN когато възникне нужда.
WHERE синтаксисът е по-ориентиран към релационния модел.
Резултат от две таблици JOIN ed е декартово произведение на таблиците, към които се прилага филтър, който избира само онези редове със съвпадащи съединяващи се колони.
По-лесно е да видите това с WHERE синтаксис.
Що се отнася до вашия пример, в MySQL (и в SQL като цяло) тези две заявки са синоними.
Също така имайте предвид, че MySQL също има STRAIGHT_JOIN клауза.
Използвайки тази клауза, можете да контролирате JOIN ред:коя таблица се сканира във външния цикъл и коя е във вътрешния цикъл.
Не можете да контролирате това в MySQL с помощта на WHERE синтаксис.