Je pravda, že obě formy syntaxe by měly dávat stejný výsledek a interně je MySQL provádí obě naprosto stejným způsobem. Současné verze standardu SQL podporují obě formy, ačkoli styl čárky je podporován pouze z důvodu zpětné kompatibility.
Existuje případ, kdy použití syntaxe ve stylu čárky selže, ale je to exotické:
SELECT * FROM A, B JOIN C ON C.x = A.y;
JOIN
operátor má vyšší prioritu než čárka. Výše uvedený dotaz se tedy pokouší vyhodnotit C.x = A.y
ani neví, že A
je součástí dotazu. Takže dostanete chybu:
ERROR 1054 (42S22): Unknown column 'A.y' in 'on clause'
Nejlepším řešením je použít JOIN
místo jejich míchání.
Také nemůžete provádět vnější spojení pomocí syntaxe spojení čárkou. Oracle a Sybase/Microsoft vynalezly každý svou vlastní proprietární syntaxi pro zpracování vnějších spojení, ale ani jedna není podporována jinými značkami RDBMS. Dnes všechny aktuální verze RDBMS včetně Oracle a Sybase/Microsoft podporují standardní JOIN
syntaxe, takže není dobrý důvod používat starší rozšíření specifická pro dodavatele.