INNER JOIN
ist ANSI-Syntax, die Sie verwenden sollten.
Es wird im Allgemeinen als besser lesbar angesehen, besonders wenn Sie viele Tische verbinden.
Er kann auch leicht durch einen OUTER JOIN
ersetzt werden wann immer ein Bedarf entsteht.
Das WHERE
Syntax ist eher relationales Modell orientiert.
Ein Ergebnis von zwei Tabellen JOIN
ed ist ein kartesisches Produkt der Tabellen, auf die ein Filter angewendet wird, der nur die Zeilen auswählt, deren Verbindungsspalten übereinstimmen.
Einfacher ist dies mit WHERE
zu sehen Syntax.
Was Ihr Beispiel betrifft, so sind diese beiden Abfragen in MySQL (und in SQL allgemein) Synonyme.
Beachten Sie auch, dass MySQL auch einen STRAIGHT_JOIN
hat Klausel.
Mit dieser Klausel können Sie den JOIN
steuern Reihenfolge:Welche Tabelle wird in der äußeren Schleife gescannt und welche in der inneren Schleife.
Sie können dies in MySQL nicht mit WHERE
steuern Syntax.