not in 如何转化left join on提交效率

以下是一个转换事例:

第一个样例:

select * from BUS_GG br WHERE 1 = 1 AND br.id NOT IN (SELECT RECEIVER_ID FROM SYS_GG);
       
select * from BUS_GG br left join SYS_GG k  on br.id = k.RECEIVER_ID where  k.RECEIVER_ID is null

 

第二个样例:

select * from BUS_CHANNEL br WHERE 1 = 1 AND br.CHANNEL_ID NOT IN (SELECT CHANNEL_ID FROM BUS_CHANNEL_PARAMETER where CHANNEL_ID=24);
       
select * from BUS_CHANNEL br left join BUS_CHANNEL_PARAMETER k  on br.CHANNEL_ID = k.CHANNEL_ID and k.CHANNEL_ID=24 where  k.CHANNEL_ID is null;

 

LEFT JOIN ON WHERE:在临时表生成后,再对临时表的数据进行过滤,再返回左表。

LEFT JOIN ON AND:在临时表生成的过程时,ON中的条件不管是否为真,都将返回左表。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值