从多个表中减去 - sql

时间:2018-01-04 00:01:09

标签: mysql sql

我为SQL查询做了一些练习。我试图实现尚未订购的所有物品(partno)。这是下图enter image description here

我想要实现的是零件表中partno的完整列表减去OrderedItems表中的Partno。我相信我需要做一个Left Outter Join。

喜欢下面

SELECT *
FROM PARTS, ORDEREDITEMS
LEFT OUTER JOIN ordereditems.Partno - parts.Partno;

还是有点卡在这个上,这是正确的吗?

3 个答案:

答案 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