mysql 的查询条件放在 join on 和 Where 的区别:

查询条件放在 ON 后面:

属于"连接条件"。在连接时进行筛选,不符合条件的右表记录会被当作不存在,但左表记录依然保留。

查询条件放在 WHERE 后面:

属于"结果过滤"。连接完成后,对整个结果集进行大扫除,不符合条件的行直接整行删掉。

当你在使用 LEFT JOIN 却发现查出来的数量比预期少时,应该检查 WHERE 子句里是不是引用了右表的字段。

相关推荐
Decay__24 分钟前
附-01 · MySQL 压测与容量规划 —— sysbench 基准测试、容量评估与参数基线
运维·数据库·sql·mysql·架构
吹什么轩1 小时前
MySQL 内连接与外连接:从笛卡尔积到 LEFT JOIN,一篇讲透
数据库·mysql
boy快快长大1 小时前
MySQL 转 PostgreSQL 使用指南
数据库·mysql·postgresql
NineData2 小时前
NineData 社区版 V5.4.0 上线:715 条复制对比链路,AI Agent 新增表结构设计发布能力
大数据·数据库·人工智能·mysql·数据库管理工具·ninedata·数据库迁移工具
m0_639906942 小时前
MySQL 索引底层原理|B + 树、聚簇索引、非聚簇索引、覆盖索引
数据库·mysql
次次皮2 小时前
Oracle判空踩坑(对比mysql)
数据库·mysql·oracle
benjormin3 小时前
MySQL数据库基础
数据库·mysql
火2253 小时前
# C++ 微服务即时通讯系统(四):MySQL、Redis 与 Elasticsearch——数据分工与一致性
c++·mysql·微服务
微微%13 小时前
mysql的安装和使用
数据库·mysql·mysql8安装
十年程序梦17 小时前
2026最新国内省市区县表,mysql表格
mysql