sql 易错点(重点)

with t1 as
(
  select null as f1, 21 as f2
  union all
  select 1 as f1, 22 as f2
  union all
  select 11 as f1, 23 as f2
)
select * from t1 where f1 <> 1

with t1 as (
        select null as f1,
               21 as f2
     union all select 1 as f1,
               22 as f2
     union all select 11 as f1,
               23 as f2
       ) select *
  from t1
 where f1 <> 1
    or f1 is null

二:

select 
    *
from
table1 t1 
left join (
    table2
 ) t8 on t1.back_cate0_id = t8.back_cate0_id
    and t1.back_cate1_id = t8.back_cate1_id
    and coalesce(t1.back_cate2_id,'null_value') = coalesce(t8.back_cate2_id,'null_value')
    and t1.province_id = t8.province_id
    and t1.city_id = t8.city_id

一定要注意null 的数值是关联不上的,如果不写
    and coalesce(t1.back_cate2_id,'null_value') = coalesce(t8.back_cate2_id,'null_value')
就会关联的时候少数值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值