oracle SQL left join()或full out join()根据键排除记录(示例代码)

栏目: mysql · 发布时间: 2021-04-04

简介  这篇文章主要介绍了oracle SQL left join()或full out join()根据键排除记录(示例代码)以及相关的经验技巧,文章约882字,浏览量445,点赞数6,值得推荐!

我想在一个表中排除记录,如果它出现在另一个表中(基于键)

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

我有2个表1. cust_recommendataion:每个cust_id都有多个product_id


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
    )

以上就是本文的全部内容,希望对大家的学习有所帮助,本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

SQL COUNT()/ LEFT JOIN?

Oracle表与表之间的连接方式(内连接:inner join 、外连接 全连接: full outer join、左连接:left outer join 、右连接:right outer join

Sql语句优化-查询两表不同行NOT IN、NOT EXISTS、连接查询Left Join(示例代码)

[转]Oracle left join right join

左连接,右连接,内连接,外连接, join, left join, right join ,mysql ,oracle

谈谈oracle里的join、left join、right join、full join-版本2

Oracle的left join中on和where的区别

Oracle中 (+)与left join 的用法区别