Я хотел бы подтвердить, что запрос 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 не поддерживает оптимизаторские подсказки о порядке соединения и будет пытаться автоматически создать оптимальный план запросов).