Sql 无on子句的连续联接

Sql 无on子句的连续联接,sql,Sql,我正在查看一个SQL存储过程,在理解连接的一部分时遇到了一个问题。有谁能在不使用“on”子句的情况下建议这些联接如何工作 您的查询可以翻译为 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 L

我正在查看一个SQL存储过程,在理解连接的一部分时遇到了一个问题。有谁能在不使用“on”子句的情况下建议这些联接如何工作


您的查询可以翻译为

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

什么数据库管理系统?有不同类型的SQL。这样做是有效的,但在B.ItemId=C.ItemId上的
之后似乎缺少了
On
子句。您能显示完整的语句吗?是否有可能
SQL.TableA
只能是一行?@RBarryYoung正在寻找的是类似SQL server、mysql、sqlite、oracle之类的东西。。。类似的。你有没有试着在一些测试表上测试它来分析结果?您是否查看了DB产品的手册,以了解没有ON子句的联接的默认行为是什么?
FROM
   SQL.TableA A LEFT JOIN 
   SQL.TableB B LEFT JOIN
   SQL.TableC C ON ColumnThatAandBTablesHave = C.ITEMID