Die SQL-Spezifikation besagt, dass explizite Joins vor impliziten Joins ausgeführt werden. Dies ist ein impliziter Join:
FROM table1 t1, table2 t2 WHERE t1.id=t2.t1id
Dies ist ein expliziter Join:
FROM table1 t1 JOIN table2 t2 ON (t1.id=t2.t1id)
Dieses Codebit:
categories c
LEFT JOIN photos p
ON p.referencekey = i.key
ist ein expliziter Join und wird zuerst ausgeführt. Beachten Sie, dass zu diesem Zeitpunkt die Tabelle mit dem Alias i noch nicht angesehen wurde, sodass sie noch nicht verknüpft werden kann. Beachten Sie, dass MySQL dieses Verhalten meiner Meinung nach in 5.2 behoben hat und diese Abfrage dort auch nicht mehr funktioniert.