简单来说:左连接(LEFT JOIN)不要求连接字段“名称相同”,也不要求“来自同一张表结构”,只要求两边有可比较的关联条件即可。
下面分点说明:
左连接是通过 ON 后的条件来关联的,字段名不需要一样。
SELECT *
FROM A
LEFT JOIN B
ON A.user_id = B.uid;
这里 A.user_id 和 B.uid 字段名不同,但可以作为左连接条件。
虽然字段名可以不同,但类型最好兼容,否则可能:
例如:
A.id (INT) = B.user_id (VARCHAR)
某些数据库允许,但不推荐。
左连接的特点是:
NULL和“字段是否相同”无关,只和 ON 条件有关。
❌ 错误理解:
左连接必须把两个表的主键连起来
✅ 正确: 只要业务逻辑上能关联即可,比如:
LEFT JOIN B ON A.create_date = B.stat_date
也可以使用多个字段:
LEFT JOIN B
ON A.dept = B.dept
AND A.date = B.date;
✅ 左连接不要求字段名相同
✅ 只要求 ON 条件能合理关联
⚠️ 字段类型应尽量一致,便于性能和准确性
如果你有具体 SQL 场景,我可以帮你判断怎么写最合适。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。