Schreiben Sie in MySQL JOIN unqualifiziert impliziert INNER JOIN . Mit anderen Worten das INNER in INNER JOIN es ist optional. INNER und CROSS sind Synonyme in MySQL. Zur Verdeutlichung schreibe ich JOIN oder INNER JOIN wenn ich eine Join-Bedingung und CROSS JOIN habe wenn ich keine Bedingung habe.
Die erlaubte Syntax für Joins ist in der Dokumentation beschrieben .
Der Effekt ist derselbe, aber die Geschichte dahinter ist eine andere. Die Kommasyntax stammt aus dem ANSI-89-Standard. Es gibt jedoch eine Reihe von Problemen mit dieser Syntax, daher wurde im ANSI-92-Standard das Schlüsselwort JOIN eingeführt.
Ich würde Ihnen dringend empfehlen, immer Verwenden Sie die JOIN-Syntax anstelle des Kommas.
T1 JOIN T2 ON ...ist besser lesbar alsT1, T2 WHERE ....- Es ist wartungsfreundlicher, da die Tabellenbeziehungen und Filter klar definiert und nicht gemischt sind.
- Die JOIN-Syntax lässt sich einfacher in OUTER JOIN umwandeln als die Kommasyntax.
- Das Mischen der Komma- und JOIN-Syntax in derselben Anweisung kann aufgrund der Vorrangregeln zu merkwürdigen Fehlern führen.
- Es ist weniger wahrscheinlich, dass bei Verwendung der JOIN-Syntax aufgrund einer vergessenen Join-Klausel versehentlich ein kartesisches Produkt erstellt wird, da die Join-Klauseln neben den Joins stehen und es leicht zu erkennen ist, ob eine fehlt.