跳转至

选择 LEFT JOIN 还是 INNER JOIN

关联类型决定“找不到对应记录时,主表这一行是否保留”。

假设订单 Sheet 有三条订单,其中订单 3 的客户编号在客户 Sheet 中不存在。

类型 ExcelFlow 的处理 适用问题
LEFT JOIN 三条订单都保留,订单 3 的客户字段为空 订单不能遗漏,只是补充客户资料
INNER JOIN 只保留能找到客户的订单 只要资料完整、两边都匹配的数据

通常把最不能遗漏的数据设为主表,再根据业务选择关联类型。如果目的是生成完整订单清单,优先考虑 LEFT JOIN;如果报表只允许有效客户数据,则可以选择 INNER JOIN

关联字段也很重要。优先使用稳定且唯一的编号,例如 customer_id

o.customer_id = c.customer_id

不要因为姓名容易阅读就用姓名关联;重名或改名会造成错误匹配。

如果关联后行数意外增加,通常是右侧字段不唯一,或实际关系是一对多。如果仅凭一个字段不足以唯一对应,应配置复合关联键:为同一“关联顺序”填写多行,例如同时匹配 order_idtenant