Я хотел бы подтвердить, что запрос SQL
SELECT ....
FROM apples,
oranges
LEFT JOIN kiwis ON kiwis.orange_id = oranges.id,
bananas
WHERE ....
точно эквивалентен другим перестановкам в подпункте FROM, например
SELECT ....
FROM oranges
LEFT JOIN kiwis ON kiwis.orange_id = oranges.id,
bananas,
apples
WHERE ....
или
SELECT ....
FROM bananas,
apples,
oranges
LEFT JOIN kiwis ON kiwis.orange_id = oranges.id
WHERE ....
, если явное ЛЕВОЕ СОЕДИНЕНИЕ между апельсинами и киви остается неизменным. Из того, что я читал в различных документах, возвращаемый набор должен быть точно таким же.
Меня действительно интересуют только результаты запроса, а не его производительность в реальной базе данных. (Я использую PostgreSQL 8.3, который AFAIK не поддерживает подсказки оптимизатора о порядке соединения и попытается автоматически создать оптимальный план запроса).