Нет веских причин для этого.С inner join
любой порядок join
s эквивалентен.Почти все согласятся с тем, что следовать и поддерживать следующее проще:
FROM tEXPORT_TYPES et INNER JOIN
tTYPE_CODES tc
ON et.ReportingTreeIdNo = tc.TypeCodeIdNo INNER JOIN
tSTORED_PROCEDURES sp1
ON sp1.StoredProcedureIdNo = et.ExportDataStoredProcedureIdNo INNER JOIN
tSTORED_PROCEDURES sp2
ON sp2.StoredProcedureIdNo = et.ExportFileStoredProcedureIdNo
Существуют некоторые загадочные ситуации, когда перестановка внешних объединений не совсем эквивалентна.В целом, однако, inner join
s, за которыми следует left join
s, достаточно для почти всех запросов, которые я пишу.
Что касается того, почему кто-то написал бы join
s таким образом?Я могу только строить догадки.Моя наиболее вероятная причина в том, что они использовали ,
s в предложении from
и просто стали предпочитать ссылаться на все таблицы перед условиями, связывающими их.