不同的左外连接left join方式(+)及 LeftJoin 和 *=使用注意

先说一些今天处理问题的时候发现了左外连接的新的写法方式啊,不知道大家见过没,不过这个是很好理解的

select r.*,c.* from t_tsjb_result r
                  left join t_d6_complaint c
                    on c.comcon = r.comcon,
                 (select t.dicode, t.diname
                          from t_d1_dic_item t
                         where t.dtid = '518959eac5cf4325bb618e6289ca9f77') tsfl,
                 (select t.dicode, t.diname
                          from t_d1_dic_item t
                         where t.dtid = 'b6eb358ea76c4b2191a5dd72d14dcad7') dcjg
                 where r.comtype = tsfl.dicode
                   and r.dealresult = dcjg.dicode
                   and r.unitName like '%堂子街%'
                   and r.orgid in ('9cbf2330e17941828bfc04ce8bf04aca')
                 order by r.creattime

上面这个是我出错的SQL语句,也不是出错了,就是左外连接关联查询的时候查不出数据来,然后我改了一些连接位置,再具体的关联限制上使用(+)就可以查出数据了,下面我把SQL贴出来大家看看应该很好理解的

select r.*,c.* from t_tsjb_result r,t_d6_complaint c,
                 (select t.dicode, t.diname
                          from t_d1_dic_item t
                         where t.dtid = '518959eac5cf4325bb618e6289ca9f77') tsfl,
                 (select t.dicode, t.diname
                          from t_d1_dic_item t
                         where t.dtid = 'b6eb358ea76c4b2191a5dd72d14dcad7') dcjg
                    where r.comcon = c.comcon(+)
                    and r.comtype = tsfl.dicode(+)
                    and r.dealresult = dcjg.dicode(+)
                   and r.unitName like '%堂子街%'
                   and r.orgid in ('9cbf2330e17941828bfc04ce8bf04aca')
                 order by r.creattime

这个只需要在一些关联的表的限制字段后面加(+)就可以了

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 后的条件是对

唉~想必大家能看出来我是一个逗号没加,,这个教训也提醒我们要时刻注意细节。大概的内容就是这些了,有什么不足的地方欢迎大家我交流交流。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值