oracle连表删除、常见的连表删除SQL
·
在Oracle数据库中,可以使用DELETE语句删除多个表中的数据,也可以使用INNER JOIN、LEFT JOIN、RIGHT JOIN等连接操作来删除多个表中的数据。
下面是一些示例:
删除两个表中相同的记录
DELETE FROM table1
WHERE EXISTS (SELECT 1 FROM table2 WHERE table1.id = table2.id);
删除两个表中不同的记录
DELETE FROM table1
WHERE NOT EXISTS (SELECT 1 FROM table2 WHERE table1.id = table2.id);
删除两个表中相同的记录,但保留一个
DELETE FROM table1
WHERE EXISTS (SELECT 1 FROM table2 WHERE table1.id = table2.id AND ROWNUM = 1);
使用INNER JOIN删除两个表中相同的记录
DELETE FROM table1
WHERE id IN (SELECT t1.id FROM table1 t1 INNER JOIN table2 t2 ON t1.id = t2.id);
使用LEFT JOIN删除table1中没有匹配到table2的记录
DELETE FROM table1
WHERE NOT EXISTS (SELECT 1 FROM table2 WHERE table1.id = table2.id)
AND ROWNUM = 1;
使用RIGHT JOIN删除table2中没有匹配到table1的记录
DELETE FROM table2
WHERE NOT EXISTS (SELECT 1 FROM table1 WHERE table1.id = table2.id)
AND ROWNUM = 1;
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)