相关疑难解决方法(0)

SQL IN查询产生奇怪的结果

请参阅下面的表格结构:

CREATE TABLE Person (id int not null, PID INT NOT NULL, Name VARCHAR(50))
CREATE TABLE [Order] (OID INT NOT NULL, PID INT NOT NULL)

INSERT INTO Person VALUES (1,1,'Ian')
INSERT INTO Person VALUES (2,2,'Maria')
INSERT INTO [Order] values (1,1)
Run Code Online (Sandbox Code Playgroud)

为什么以下查询返回两个结果:

select * from Person WHERE id IN (SELECT ID FROM [Order])
Run Code Online (Sandbox Code Playgroud)

订单中不存在ID.为什么上面的查询会产生结果?我希望它会出错,因为我不按顺序存在.

sql sql-server sql-server-2008

3
推荐指数
2
解决办法
697
查看次数

标签 统计

sql ×1

sql-server ×1

sql-server-2008 ×1