【发布时间】:2015-11-07 09:51:51
【问题描述】:
表:实例
instanceID
表格:对象
objectID
instanceID
我如何从实例中获取所有行,其中 instanceID 在对象中有 0 行。
谢谢。
【问题讨论】:
表:实例
instanceID
表格:对象
objectID
instanceID
我如何从实例中获取所有行,其中 instanceID 在对象中有 0 行。
谢谢。
【问题讨论】:
效率不高,但您可以像这样简单地使用内部查询:
select * from instance where instanceID not in (select instanceID from Objects)
或者使用应该比内部查询更快的连接
SELECT I.*
FROM instance I LEFT JOIN Objects O ON I.instanceID = O.instanceID
WHERE O.instanceID IS NULL
【讨论】:
where not exists (correlated subquery) 查询是否会更快。 @user1512064:在objects 中,给定的instanceID 是否有0 条或1 条记录,或者给定的instanceID 是否有n>1 条记录?
exists shi....;-))
select * from instances where (select count(instanceID) from objects) = 0;
这是你所期待的吗?
【讨论】: