mysql如何使用left join

P粉602998670
发布: 2025-09-20 09:59:01
原创
874人浏览过
LEFT JOIN保留左表所有记录,右表无匹配时字段为NULL;适用于查询用户及部门信息(含未分配部门的用户),统计登录时间或检查外键缺失,通过WHERE IS NULL可找出无关联记录的数据。

mysql如何使用left join

在 MySQL 中,LEFT JOIN(左连接)用于从左表(主表)中返回所有记录,即使右表中没有匹配的记录。如果右表中没有匹配项,结果中对应字段会显示为 NULL

语法结构

SELECT 列名 FROM 左表 LEFT JOIN 右表 ON 条件;
  • 左表:主表,所有数据都会被保留。
  • ON:指定两张表之间的关联条件,通常是外键关系。

例如,有两个表:

  • users(用户表):id, name, department_id
  • departments(部门表):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 常用于以下情况:

如知AI笔记
如知AI笔记

如知笔记——支持markdown的在线笔记,支持ai智能写作、AI搜索,支持DeepseekR1满血大模型

如知AI笔记 27
查看详情 如知AI笔记
  • 统计每个用户最近一次登录时间(即使从未登录)
  • 列出所有订单及客户信息,包括未下单的客户(反过来用 RIGHT JOIN 或调整表顺序)
  • 检查外键缺失的数据,比如找出哪些用户指向了不存在的部门

注意:如果只想看“没部门”的用户,可以在后面加 WHERE 过滤:

WHERE departments.id IS NULL

这能帮你找出数据不一致或缺失引用的情况。

基本上就这些。LEFT JOIN 的关键是记住“左表全保留”,配合 ON 条件灵活使用就行。

以上就是mysql如何使用left join的详细内容,更多请关注php中文网其它相关文章!

相关标签:
最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号