[英]Find ID which doesn't exist from another table
我正在研究 SQL,我不确定过滤数据的方式是什么。
例如,我有两个表:
Reference_OrderTable
:
OrderTable
:
Reference_Ordertable
:该表包含所有订单类型。OrderTable
:这是实际的订单表,我们按客户的订单存储。 我正在寻找orderID
中缺少的OrderTable
。
例如:
参考_订购表:
订单编号:1、2、3、4、5、6、7、8
订单表:
订单编号:1、3、4、5、7
我想找到缺少的部分,例如OrderID
: 2, 6, 8 因为如果我们与Reference_Ordertable
比较, OrderTable
缺少 2,6,8。
我正在考虑使用 Right Join 方法。 但是,Right Join 包含公共数据,并且不搜索缺失部分。 我们如何从另一个表中过滤缺失的数据?
谢谢!
您可以在下面尝试。
使用除了
select OrderID from reference_OrderTable
EXCEPT
select OrderID from OrderTable
使用加入
select r.OrderID from reference_OrderTable r
LEFT JOIN OrderTable o ON o.OrderID = r.OrderID
WHERE o.OrderID IS NULL
使用子查询
select OrderID from reference_OrderTable
where OrderID NOT IN (select OrderID from OrderTable)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.