LeftJoin 和 *=使用注意

本文通过两个具体的SQL查询案例对比,展示了如何正确使用LEFT JOIN与WHERE子句来获取预期的数据结果,揭示了不同查询语句间的细微差别及其对结果的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

看以下两个查询语句:TBWData 中有一条ID0=1000000131 的记录;TBFeeDataD 中有一条FeeType=7(不是2哦);且这两个表TBWData 的ID0等于TBFeeDataD 的WaterID。

 

select * from
TBWData w , TBFeeDataD d
where  w.ID0 *= d.WaterID and w.ID0=1000000131 and d.FeeType=2

 

select * from
TBWData w left join TBFeeDataD d on  w.ID0=d.WaterID
where w.ID0=1000000131 and d.FeeType=2

 

结果显示:第一条查得出结果,第二条查不出结果。

第二条换成:

select * from
TBWData w left join TBFeeDataD d on  w.ID0=d.WaterID   and d.FeeType=2
where w.ID0=1000000131

便可以查出结果。

因为where 后的条件是对

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值