我有一个包含唯一 ID 字段的表。另一个字段 (REF) 包含对另一个数据集的 ID 字段的引用。
现在我必须选择 REF 指向不存在的数据集的所有数据集。
SELECT * FROM table WHERE ("no dataset with ID=REF exists")
我怎样才能做到这一点?
3 ways
SELECT * FROM YourTable y WHERE NOT EXISTS
(SELECT * FROM OtherTable o WHERE y.Ref = o.Ref)
SELECT * FROM YourTable WHERE Ref NOT IN
(SELECT Ref FROM OtherTable WHERE Ref IS NOT NULL)
SELECT y.* FROM YourTable y
LEFT OUTER JOIN OtherTable o ON y.Ref = o.Ref
WHERE o.Ref IS NULL
也可以看看从一个表返回不在另一表中的所有行的五种方法 http://wiki.lessthandot.com/index.php/5_ways_to_return_rows_from_one_table_not_in_another_table
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)