我为SQL查询做了一些练习。我试图实现尚未订购的所有物品(partno)。这是下图
我想要实现的是零件表中partno的完整列表减去OrderedItems表中的Partno。我相信我需要做一个Left Outter Join。
喜欢下面
SELECT *
FROM PARTS, ORDEREDITEMS
LEFT OUTER JOIN ordereditems.Partno - parts.Partno;
还是有点卡在这个上,这是正确的吗?
答案 0 :(得分:3)
select *
from parts
where partno not in ( select partno from ordereditems)
只需选择其他表中没有的所有内容。
select *
from parts
where not exists ( select 1 from ordereditems where partno = parts.partno)
将是另一种方式。
答案 1 :(得分:1)
select Parts.*
from Parts left join Ordereditem
on Parts.partno = Ordereditem.partno
where Ordereditem.partno is null
答案 2 :(得分:0)
试试这个
select a.partno - b.partno from
(select * from PARTS) as a
left JOIN
(select * from ORDEREDITEMS) as b
on a.Partno = b.Partno