gpt4 book ai didi

sql - T-SQL 查询 : where column not in is giving wrong result

转载 作者:行者123 更新时间:2023-12-02 06:32:48 25 4
gpt4 key购买 nike

我有两个表 A 和表 B,两个表中的共同列是名称,
我想知道表 A 中不在表 B 中的名称是什么

当我做:

Select Name from A where Name not in (Select Name from B)

我确定表 A 中有 2 个名称不在表 B 中

但结果什么也不返回

表 A 和 B 中的这些名称列具有相同的数据类型 varchar(50)
所以我将 Name 列的结果复制并插入到一个新表中并执行相同的查询,这次它返回了正确的结果。这可能是什么错误?

例子:
Table A
Name:
Kevin
Dexter
David
John
Marry

Table B
Name:
Kevin
Dexter
David

所以查询应该返回 'John' , 'Marry'但它不会在我的原始表中返回,而是在我创建和插入的另一个表中返回。

谢谢!

最佳答案

你可能有一个 NULL姓名在 B ,这使得 NOT IN每一行都是假的。您应该使用 NOT EXISTS反而:

SELECT Name 
FROM A
WHERE NOT EXISTS (SELECT 1 FROM B
WHERE A.Name = B.Name)

关于sql - T-SQL 查询 : where column not in is giving wrong result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29019252/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com