没有on子句的连续连接



我正在检查一个SQL存储过程,在理解一段连接时遇到了问题。有人能就这些连接如何工作而不使用"on"子句提出建议吗?

 FROM
       SQL.TableA A LEFT JOIN SQL.TableB B LEFT JOIN SQL.TableC C 
               ON B.ITEMID = C.ITEMID

您的查询可以翻译为

FROM
   SQL.TableA A LEFT JOIN 
   SQL.TableB B ON B.ITEMID = C.ITEMID LEFT JOIN
   SQL.TableC C ON B.ITEMID = C.ITEMID

正如你所看到的,这并没有多大意义,因为a没有被连接
我希望是这样的:

FROM
   SQL.TableA A LEFT JOIN 
   SQL.TableB B LEFT JOIN
   SQL.TableC C ON B.ITEMID = C.ITEMID
   ON A.ITEMID = C.ITEMID

或者以这种形式写成的有效查询

FROM
   SQL.TableA A LEFT JOIN 
   SQL.TableB B LEFT JOIN
   SQL.TableC C ON ColumnThatAandBTablesHave = C.ITEMID

最新更新