繁体   English   中英

查找另一个表中不存在的 ID

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM