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

时间:2015-05-28 10:40:04

标签: sql join multiple-tables

是否可以执行以下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语句中使用两个表。最后一个语句有三个表。

1 个答案:

答案 0 :(得分:3)

只是做:

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

旁注

理论上,您可以根据需要加入尽可能多的表 - 只要知道您加入的表越多,性能就越会受到负面影响。

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