SQL Server,相关子查询中的多个条件
|
我试图在相关子查询中使用复合条件,但未返回预期结果。您能否看一下下面的示例,看看为什么第一个查询无法解决,而第二个查询却解决了?
创建表并填充行:
CREATE TABLE TestCase
(
Seq INT IDENTITY PRIMARY KEY,
ID INT,
Name VARCHAR(50)
)
INSERT INTO TestCase
VALUES
(100, \'MJ\'),
(110, \'MJ\'),
(120, \'AK\'),
(130, \'AK\')
第一个查询:
SELECT A.ID, A.Name FROM TestCase AS A
WHERE A.ID IN (SELECT ID FROM TestCase WHERE ID <> A.ID AND Name = A.Name)
(0行受影响)
使用EXISTS进行第二次查询:
SELECT A.ID, A.Name FROM TestCase AS A
WHERE EXISTS (SELECT ID FROM TestCase WHERE ID <> A.ID AND Name = A.Name)
(受影响的4行)
假设两个查询都应返回全部四行,但第一行不返回;我不确定为什么只有第二个查询返回四行。有人可以帮忙吗?谢谢。
没有找到相关结果
已邀请:
1 个回复
赣借