表中有上千条纪录NOT IN为什么无法实现 ( 积分: 100 )

  • 主题发起人 主题发起人 0zhy1
  • 开始时间 开始时间
0

0zhy1

Unregistered / Unconfirmed
GUEST, unregistred user!
SELECT *
FROM table1
WHERE (field1 NOT IN (SELECT field2 FROM db1))
--field1中有上千条纪录
--表里有满足条件的记录
--结果没有查到任何记录
--请各位同僚探讨一下
 
没有遇到过
 
SELECT *
FROM table1
WHERE (field1 NOT IN (SELECT field2 FROM db1 where field2 is not null))

任何值和null的运算结果都为null
 
楼主的情况没有遇到过
但不推荐楼主使用IN这个关键,因为涉及全表扫描,数据一大就慢的吓死人
还是用左连接更好些

SELECT a.* FROM table1 a LEFT OUTER JOIN db1 b ON a.field1 = b.field2
WHERE a.field1 IS NULL
 
谢谢:沉香屑
问题解决了
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
I
回复
0
查看
504
import
I
后退
顶部