加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

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

发布时间:2020-12-12 13:28:10 所属栏目:MsSql教程 来源:网络整理
导读:SQL Server中不建议使用not in,因为会带来潜在的问题: 结果错误 查询性能较差 性能差都还能勉强接收,结果错误那后果可就严重了。可能产生结果错误的原因就是NOT IN 对null的处理方式,MSDN说明如下: ?Caution Any null values returned by? subquery ?or

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时注意检查数据有效性。
MSDN ?IN(Transat-SQL)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!


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

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

?Caution
    推荐文章
      热点阅读