For what it's worth, the distinction of INNER JOIN
vs "normal" queries is inaccurate.
Comma-style join syntax was defined in the ANSI SQL-89 standard. Then they realized that they couldn't do some types of joins with that syntax. As @Guffa mentions, Oracle and Sybase invented their own proprietary enhancements to join syntax to handle outer joins.
In ANSI SQL-92, the standard introduced the INNER
/OUTER JOIN
syntax options. But the old syntax was still supported for the sake of backward compatibility, and it's still in the specification to this day. So they're both standard.
It has been many years since the explicit join syntax became part of the official SQL standard. It's time you accept that as the "normal" syntax.
Which performs better? They both perform exactly the same. All reasonable SQL implementations handle joins the same way, and both syntax forms invoke the same code.
I find the SQL-92 JOIN syntax is more clear. If you have a join of many tables, you can place the join expressions adjacent to the joined table. If you use the old syntax, then the WHERE clause gets cluttered with many terms, and it's hard to sort out which joined table each term goes with.
Some people insist the old SQL-89 style is more clear, but they are wrong. :-)