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.