INNER JOIN
est la syntaxe ANSI que vous devez utiliser.
Il est généralement considéré comme plus lisible, en particulier lorsque vous rejoignez de nombreuses tables.
Il peut également être facilement remplacé par un OUTER JOIN
chaque fois qu'un besoin s'en fait sentir.
Le WHERE
la syntaxe est plus orientée modèle relationnel.
Un résultat de deux tables JOIN
ed est un produit cartésien des tables auxquelles un filtre est appliqué qui sélectionne uniquement les lignes avec les colonnes de jointure correspondantes.
Il est plus facile de voir cela avec le WHERE
syntaxe.
Quant à votre exemple, dans MySQL (et dans SQL en général), ces deux requêtes sont synonymes.
Notez également que MySQL a également un STRAIGHT_JOIN
clause.
En utilisant cette clause, vous pouvez contrôler le JOIN
order :quelle table est analysée dans la boucle externe et laquelle se trouve dans la boucle interne.
Vous ne pouvez pas contrôler cela dans MySQL en utilisant WHERE
syntaxe.