ちょっと気になったので調べてみた。
stackoverflow だと以下が引っかかった。
http://stackoverflow.com/questions/5273942/mysql-inner-join-vs-where
http://stackoverflow.com/questions/44917/explicit-vs-implicit-sql-joins
どっちでも変わらないらしい。
実行計画を見てみる。
こっちが on の場合。
+------+-------------+-------+------+---------------+------+---------+------+------+-------------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+-------+------+---------------+------+---------+------+------+-------------------------------------------------+ | 1 | SIMPLE | a1 | ALL | NULL | NULL | NULL | NULL | 6 | | | 1 | SIMPLE | a2 | ALL | NULL | NULL | NULL | NULL | 6 | Using where; Using join buffer (flat, BNL join) | +------+-------------+-------+------+---------------+------+---------+------+------+-------------------------------------------------+
こっちが where の場合。
+------+-------------+-------+------+---------------+------+---------+------+------+-------------------------------------------------+ | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra | +------+-------------+-------+------+---------------+------+---------+------+------+-------------------------------------------------+ | 1 | SIMPLE | a1 | ALL | NULL | NULL | NULL | NULL | 6 | | | 1 | SIMPLE | a2 | ALL | NULL | NULL | NULL | NULL | 6 | Using where; Using join buffer (flat, BNL join) | +------+-------------+-------+------+---------------+------+---------+------+------+-------------------------------------------------+
まあ、変わらないよね・・・。
個人的に on の方が好きなのでonにしようと思う。