SQL仕様では、明示的結合は暗黙的結合の前に実行されると規定されています。これは暗黙の結合です:
FROM table1 t1, table2 t2 WHERE t1.id=t2.t1id
これは明示的な結合です:
FROM table1 t1 JOIN table2 t2 ON (t1.id=t2.t1id)
このコードビット:
categories c
LEFT JOIN photos p
ON p.referencekey = i.key
明示的な結合であり、最初に実行されます。この時点では、まだ調べていないため、テーブルのエイリアスが設定されているため、まだ結合できないことに注意してください。 MySQLは5.2でこの動作を修正したことに注意してください。このクエリは、そこでも機能しなくなります。