You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在多张数据表间执行关联INNER JOIN操作?

多表INNER JOIN实现方法

两表的INNER JOIN逻辑很明确——只保留两张表中外键字段取值匹配的记录,就像你提到的Fig 1里,table1.field_e和table2.field_a匹配的那些table1记录(深蓝色区域)。

要是涉及多张表(比如你说的4个表通过3组外键关联的情况),其实就是把两两连接的逻辑依次串起来就行。要只显示table1中能全程关联到table4的记录,核心就是让每一步连接都只保留匹配的记录,最终剩下的table1记录自然就是能一路关联到table4的。

假设Fig 2里的三组外键关联是:

  • table1与table2:table1.field_e = table2.field_a
  • table2与table3:table2.field_x = table3.field_y
  • table3与table4:table3.field_m = table4.field_n

对应的SQL脚本可以这么写:

SELECT table1.*
FROM table1
INNER JOIN table2 ON table1.field_e = table2.field_a
INNER JOIN table3 ON table2.field_x = table3.field_y
INNER JOIN table4 ON table3.field_m = table4.field_n;

逻辑说明

  • 先让table1和table2做INNER JOIN,过滤出table1中能关联到table2的记录;
  • 再把上面的结果和table3做INNER JOIN,过滤出能关联到table3的记录;
  • 最后和table4做INNER JOIN,剩下的table1记录就是能全程关联到table4的。

内容的提问来源于stack exchange,提问作者Steven

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 03:45:31