It is true that both forms of syntax should produce the same result, and internal MySQL executes them in exactly the same way. Current versions of the SQL standard support both forms, although the comma style is only supported for backward compatibility.
There is a case where using comma-style syntax fails, but it is exotic:
SELECT * FROM A, B JOIN C ON Cx = Ay;
The JOIN statement takes precedence over a comma. Since the above query tries to evaluate Cx = Ay , he does not even know that A is part of the request. This way you get the error message:
ERROR 1054 (42S22): Unknown column 'Ay' in 'on clause'
The best way is to use JOIN syntax rather than mixing it.
Also, you cannot create external connections with semicolon syntax. Oracle and Sybase / Microsoft invented their own proprietary syntax for processing external joins, but none of them are supported by other RDBMS brands. Today, all current versions of RDBMS, including Oracle and Sybase / Microsoft, support the standard JOIN syntax, so there is no reason to use legacy vendor-related extensions.
source share