【陷阱系列】SQLServer in/not in 陷阱


SQL Server中不建议使用not in,因为会带来潜在的问题:

  • 结果错误
  • 查询性能较差
性能差都还能勉强接收,结果错误那后果可就严重了。可能产生结果错误的原因就是NOT IN 对null的处理方式,MSDN说明如下:

System_CAPS_ICON_caution.jpg Caution

Any null values returned by subquery or expression that are compared to test_expression using IN or NOT IN return UNKNOWN. Using null values in together with IN or NOT IN can produce unexpected results.


语法:
test_expression [ NOT ] IN   
    ( subquery | expression [ ,...n ]  
    )   

千万注意子查询和表达式中不能出现null,使用in/not in时注意检查数据有效性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值