INNER JOIN to składnia ANSI, której powinieneś używać.
Ogólnie uważa się, że jest bardziej czytelny, zwłaszcza gdy dołączasz do wielu stołów.
Można go również łatwo zastąpić OUTER JOIN kiedy tylko zajdzie taka potrzeba.
WHERE składnia jest bardziej zorientowana na model relacyjny.
Wynik dwóch tabel JOIN ed jest iloczynem kartezjańskim tabel, do których stosowany jest filtr, który wybiera tylko te wiersze, które pasują do łączących się kolumn.
Łatwiej to zobaczyć za pomocą WHERE składnia.
Jeśli chodzi o twój przykład, w MySQL (i ogólnie w SQL) te dwa zapytania są synonimami.
Pamiętaj też, że MySQL ma również STRAIGHT_JOIN klauzula.
Używając tej klauzuli, możesz kontrolować JOIN kolejność:która tabela jest skanowana w zewnętrznej pętli, a która w wewnętrznej pętli.
Nie możesz tego kontrolować w MySQL za pomocą WHERE składnia.