如何在oracle sql中获取表2中不可用的记录
我有两张桌子如何在oracle sql中获取表2中不可用的记录,sql,oracle,join,Sql,Oracle,Join,我有两张桌子 104 name104 desc103 cr104 105 name105 desc105 cr105 表1 ---------------------------------------- oid || oname || desc || creator ---------------------------------------- 101
104 name104 desc103 cr104
105 name105 desc105 cr105
表1
----------------------------------------
oid || oname || desc || creator
----------------------------------------
101 name101 desc101 cr101
102 name102 desc102 cr102
103 name103 desc103 cr103
104 name104 desc103 cr104
105 name105 desc105 cr105
104 name104 desc103 cr104
105 name105 desc105 cr105
表2
----------------------------------------
sid || sname || sloc || oid
----------------------------------------
s101 sname101 sloc101 101
s102 sname102 sloc102 102
s103 sname103 sloc103 103
104 name104 desc103 cr104
105 name105 desc105 cr105
现在我想要表1中的记录,这些记录在表2中不可用
104 name104 desc103 cr104
105 name105 desc105 cr105
sql查询应该是什么?您可以使用
不存在:
104 name104 desc103 cr104
105 name105 desc105 cr105
select t1.*
from table1 t1
where not exists (select 1 from table2 t2 where t2.oid = t1.oid);
使用外部联接:
104 name104 desc103 cr104
105 name105 desc105 cr105
SELECT t1.*
FROM TABLE1 t1
LEFT OUTER JOIN TABLE2 t2
ON t2.OID = t1.OID
WHERE t2.OID IS NULL
ORDER BY t1.OID
这是一个常见问题解答。在考虑发帖之前,请总是用谷歌搜索你的错误信息或你的问题/问题/目标的许多清晰、简洁和准确的措辞,有没有你的特定字符串/名称,并阅读许多答案。如果你发布一个问题,用一句话作为标题。请参阅文本上方的投票箭头鼠标(&S)。可能重复的
104 name104 desc103 cr104
105 name105 desc105 cr105