LEFT JOIN保留左表所有记录,右表无匹配时字段为NULL;适用于查询用户及部门信息(含未分配部门的用户),统计登录时间或检查外键缺失,通过WHERE IS NULL可找出无关联记录的数据。

在 MySQL 中,LEFT JOIN(左连接)用于从左表(主表)中返回所有记录,即使右表中没有匹配的记录。如果右表中没有匹配项,结果中对应字段会显示为 NULL。
语法结构
SELECT 列名 FROM 左表 LEFT JOIN 右表 ON 条件;左表:主表,所有数据都会被保留。ON:指定两张表之间的关联条件,通常是外键关系。
例如,有两个表:
users(用户表):id, name, department_iddepartments(部门表):id, dept_name
你想查出所有用户及其对应的部门名称,包括那些没有分配部门的用户。
使用示例
SELECT users.name, departments.dept_name FROM users LEFT JOIN departments ON users.department_id = departments.id;
结果会包含:
所有用户的姓名有部门的用户显示部门名没有部门的用户对应 dept_name 为 NULL
适用场景
LEFT JOIN 常用于以下情况:
PPT.CN,PPTCN,PPT.CN是什么,PPT.CN官网,PPT.CN如何使用
一键操作,智能生成专业级PPT
37 查看详情
统计每个用户最近一次登录时间(即使从未登录)列出所有订单及客户信息,包括未下单的客户(反过来用 RIGHT JOIN 或调整表顺序)检查外键缺失的数据,比如找出哪些用户指向了不存在的部门
注意:如果只想看“没部门”的用户,可以在后面加 WHERE 过滤:
WHERE departments.id IS NULL
这能帮你找出数据不一致或缺失引用的情况。
基本上就这些。LEFT JOIN 的关键是记住“左表全保留”,配合 ON 条件灵活使用就行。
以上就是mysql如何使用left join的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/940233.html
微信扫一扫
支付宝扫一扫