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

关于使用INNER JOIN双表关联查询人员对应课程名称的SQL咨询

关于INNER JOIN连接条件使用AND的问题
  • 完全可以在INNER JOIN的连接条件中使用AND,这是SQL里非常常规且合理的写法,尤其适合你这种需要多字段组合匹配的场景。
  • 你的需求是基于course和course_version_number的组合来关联两张表,必须用AND同时指定这两个字段的匹配规则,才能确保关联的是同一课程的对应版本,避免单一字段匹配导致的错误关联(比如把同一课程的不同版本错配给人员)。

举个符合你需求的正确SQL示例:

SELECT p.person_id, c.course_name
FROM person_course p
INNER JOIN course c 
    ON p.course = c.course 
    AND p.course_version_number = c.course_version_number;

如果你的SQL语句结构和上面一致,那就是完全正确的。

另外补充个优化建议:可以给course表的(course, course_version_number)创建联合索引,能显著提升这类多字段关联查询的效率。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 08:10:31