Es ist wahr, dass beide Formen der Syntax dasselbe Ergebnis liefern sollten, und MySQL führt sie intern auf genau die gleiche Weise aus. Aktuelle Versionen des SQL-Standards unterstützen beide Formen, obwohl der Komma-Stil nur aus Gründen der Abwärtskompatibilität unterstützt wird.
Es gibt einen Fall, in dem die Verwendung der Komma-Syntax fehlschlägt, aber es ist exotisch:
SELECT * FROM A, B JOIN C ON C.x = A.y;
Der JOIN
Der Operator hat Vorrang vor dem Komma. So wie die obige Abfrage versucht, C.x = A.y
auszuwerten es kennt nicht einmal diesen A
ist Teil der Abfrage. Sie erhalten also einen Fehler:
ERROR 1054 (42S22): Unknown column 'A.y' in 'on clause'
Abhilfe schafft hier am besten der JOIN
Syntax konsistent, anstatt sie zu mischen.
Außerdem können Sie keine äußeren Verknüpfungen mit der Komma-Join-Syntax erstellen. Oracle und Sybase/Microsoft haben jeweils ihre eigene proprietäre Syntax für die Handhabung von Outer Joins erfunden, aber beide werden nicht von anderen RDBMS-Marken unterstützt. Heute unterstützen alle aktuellen Versionen von RDBMS, einschließlich Oracle und Sybase/Microsoft, den Standard JOIN
Syntax, daher gibt es keinen guten Grund, die älteren herstellerspezifischen Erweiterungen zu verwenden.