LEFT JOIN连表时,ON后多条件无效问题
发表于:2025-11-13 作者:千家信息网编辑
千家信息网最后更新 2025年11月13日,/**创建表**//**创建表1**/CREATE TABLE `product` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `amount
千家信息网最后更新 2025年11月13日LEFT JOIN连表时,ON后多条件无效问题
/**创建表**//**创建表1**/CREATE TABLE `product` ( `id` INT(10) UNSIGNED NOT NULL AUTO_INCREMENT, `amount` INT(10) UNSIGNED DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;/**创建表2**/CREATE TABLE `product_details` ( `id` INT(10) UNSIGNED NOT NULL, `weight` INT(10) UNSIGNED DEFAULT NULL, `exist` INT(10) UNSIGNED DEFAULT NULL, PRIMARY KEY (`id`)) ENGINE=INNODB DEFAULT CHARSET=utf8;/**插入数据**/INSERT INTO product(id,amount) VALUES (1,100),(2,200),(3,300),(4,400);INSERT INTO product_details(id,weight,exist) VALUES (2,22,0),(4,44,1),(5,55,0),(6,66,1);/**查询数据**/SELECT * FROM product;SELECT * FROM product_details;
一、左外链接查询
/**左连接查询**/SELECT * FROM product LEFT JOIN product_detailsON (product.`id` = product_details.`id`);
(51CTO加水印真low!)
SELECT * FROM product LEFT JOIN product_details ON (product.id = product_details.id) AND product_details.id=2;

这个查询使用ON条件决定了从LEFT JOIN的product_details表中检索符合的所有数据行。
SELECT * FROM product LEFT JOIN product_details ON (product.id = product_details.id) WHERE product_details.id=2;

这个查询做了LEFT JOIN,然后使用WHERE子句从LEFT JOIN的数据中过滤掉不符合条件的数据行。
再看例子:
SELECT * FROM product LEFT JOIN product_details ON product.id = product_details.id AND product.amount=100;
所有来自product表的数据行都被检索到了,但没有在product_details表中匹配到记录
(product.id = product_details.id AND product.amount=100 条件并没有匹配到任何数据)
SELECT * FROM product LEFT JOIN product_details ON (product.id = product_details.id) AND product.amount=200
所有来自product表的数据行都被检索到了,有一条数据匹配到了。
从上述可知:WHERE条件发生在匹配阶段之后!
数据
查询
条件
检索
例子
子句
水印
链接
阶段
问题
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手机怎么更改服务器名称
扶沟百事通网络技术服务有限公司
服务器内部错误404
深信服网络安全工程师考试
口碑好的网络技术服务好处
服务器主板电池能换吗
南京软件开发工程师1年薪资
跨境亚马逊源码软件开发
广州市天下网络技术有限公司
网络安全审计项目背景
软件开发确认收入时间
汽车网络技术发展几个阶段
数字南海文献数据库
小服务器机柜
网络技术视频时代
海康管理服务器操作系统
亚马逊哪个云服务器好
中国台湾麻将软件开发推荐
服务器托管税率
管网服务器多少钱
数据库模板是什么
软件开发需求确定时间
软件测试和网络安全未来
cad软件开发前景
现在流行的软件开发模型
app软件开发是不是很难
南山专业的服务器运维服务
旧版rust服务器如何秒造
支付网络技术服务如何做分录
数据库索引建立标准