INNER JOIN is the ANSI syntax (SQL-92) that you use on the first. It is generally considered more readable, especially when you join many tables.
WHERE syntax (SQL-89) focuses more on the relational model. The result of two JOIN'ed tables is a Cartesian product of tables to which a filter is applied that selects only those rows with matching columns.
It is easier to see this with the WHERE syntax.
I would rather enable a connection of type ANSI , because if you omit the ON clause somehow, an error is generated, whereas the old connection type, if you omit the condition in where , will not produce an error message and, thus, it will generate Cartesian products.
source share