我有一个包含唯一ID字段的表.另一个字段(REF)包含对另一个数据集的ID字段的引用.现在我必须选择REF指向不存在的数据集的所有数据集.
SELECT * FROM table WHERE ("no dataset with ID=REF exists")
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
SQL*_*ace 21
3种方式
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
Run Code Online (Sandbox Code Playgroud)
试试这个:
SELECT * FROM TABLE WHERE NOT EXISTS
(SELECT * FROM OtherTable WHERE TABLE.Ref = OtherTable.ID)
Run Code Online (Sandbox Code Playgroud)
我认为这应该有效
SELECT * FROM table WHERE id NOT IN (SELECT ref_id FROM ref_table)
Run Code Online (Sandbox Code Playgroud)
或加入
SELECT table.*
FROM table LEFT JOIN ref_table ON table.id = ref_table.ref_id
WHERE ref_table.ref_id IS NULL
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3536 次 |
| 最近记录: |