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