在一个连接语句上连接多个表?

Joining multiple tables on one join statement?

是否可以执行以下操作join

Select *
From table1
Inner join table2 on table1.pk = table2.fk
Inner join table3 on table2.pk = table3.fk and table1.pk = table3.fk

通常我只在一个 join 语句中使用两个表。最后一条语句有三个表。

就这样:

SELECT *
FROM table1
INNER JOIN table2 
   ON table1.pk = table2.fk
INNER JOIN table3 
   ON table1.pk = table3.fk
   AND table2.pk = table3.fk

旁注

理论上,您可以连接任意数量的表 - 请注意,连接的表越多,性能受到的负面影响就越大。

此时最好仔细考虑您正在构建的查询,并考虑将其分解为更小的查询,因为这样会更高效。