Mysql
 sql >> Datenbank >  >> RDS >> Mysql

INNER JOIN ON vs. WHERE-Klausel

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.