1.使用not exists查询出的结果
not in与not exists查询结果不一致的问题
2.使用not in 查询出的结果
not in与not exists查询结果不一致的问题
正如所看到的,相同的两张表,同样的限制条件,not in出现了不期望的结果集,存在逻辑错误。使用not in(它会调用子查询),而使用not exists(它会调用关联子查询)。如果子查询中返回的任意一条记录含有空值,则查询将不返回任何记录。如果子查询字段有非空限制,这时可以使用not in。

如果查询语句使用了not in,那么对内外表都进行全表扫描,没有用到索引;而not exists的子查询依然能用到表上的索引。所以无论哪个表大,用not exists都比not in 要快。

相关文章:

  • 2022-03-02
  • 2021-12-24
  • 2021-12-03
  • 2021-11-06
  • 2022-12-23
  • 2021-11-12
  • 2022-01-19
  • 2022-01-05
猜你喜欢
  • 2022-01-31
  • 2022-12-23
  • 2022-01-19
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案