読者です 読者をやめる 読者になる 読者になる

mysql 4系 と 5系 での JOIN の優先順位

FROM句で

SELECT * FROM t1, t2 JOIN t3 ON (t1.i1 = t3.i3);

とやっていると、
mysqlのバージョン間仕様の違いで、JOINの優先順位が上がったため
4.1では

SELECT * FROM (t1, t2) JOIN t3 ON (t1.i1 = t3.i3);

と解釈されていたのが、

SELECT * FROM t1, (t2 JOIN t3 ON (t1.i1 = t3.i3));

と解釈される、とのこと。

自分では、FROM句内でカンマ演算子を全く使わないのでかなり悩んだ。


https://colo-ri.jp/develop/2009/09/mysql5unknown_column_in_on_clause.html