oracle SQL left join() or full out join() 根据键排除记录

oracle SQL left join() or full out join () exclude records based on keys

我想排除一个 table 中出现在另一个 table 中的记录(基于键)

我要删除第一条记录table: cust_recommendataion 在第二个 table 中具有相同的( cust_id 和 product_id) 第二个 table 中的不同对 ( cust_id 和 product_id) 可能只是第一个 table 不同对 ( cust_id 和 product_id) 在第二个 table 中也有一些 '( cust_id 和 product_id)' 对可能是唯一的。

我有 2 table 1. cust_recommendataion:对于每个cust_id有多个product_ids


cust_id | product_id |排名


  1. cust_last_buy;每个 cust_id 有多个 product_id

cust_id | product_id |日期


很想知道如何做到这一点的建议。通过使用 left join() 或 full out join() 或任何其他建议? 谢谢!

一个可能的解决方案使用Exist

Delete from cust_recommendataion c
WHERE
    EXISTS (
        SELECT
           *
        FROM
            cust_last_buy
        WHERE
            cust_id = c.cust_id
             and 
            product_id = c.product_id
    )