La specifica SQL afferma che i join espliciti vengono eseguiti prima dei join impliciti. Questo è un join implicito:
FROM table1 t1, table2 t2 WHERE t1.id=t2.t1id
Questo è un join esplicito:
FROM table1 t1 JOIN table2 t2 ON (t1.id=t2.t1id)
Questo bit di codice:
categories c
LEFT JOIN photos p
ON p.referencekey = i.key
è un join esplicito e viene eseguito per primo. Nota che a questo punto la tabella ha un alias perché non è stata ancora vista, quindi non può ancora essere unita. Nota che MySQL ha corretto questo comportamento in 5.2 credo e questa query non funzionerà più nemmeno lì.