我们说我有两张桌子,一列有一列#34; col"
表A
的值为A,B,C,D,E
的表{。}
表B
,其值为H,I,J,K,NULL
。
现在,当我运行查询SELECT col from A where col NOT IN (SELECT col from B);
时,我得到一个空结果
显然,只有当NULL
是从内部查询返回的值之一时才会发生这种情况
它背后有逻辑吗?
答案 0 :(得分:1)
你不能试试吗?
SELECT col from A where col NOT IN (SELECT col from B where col is not null);
通常null具有特定的行为,发生的事情是查询无法将值与null进行比较,因此它忽略了其他结果。通常这必须在数据库选项中进行更改 -