数据库查询一张表在另一张表没被引用的数据

SELECT * FROM "PUNISHER_ZGXXK" a WHERE (SELECT COUNT(1) FROM "PUNISHER_BMGL" b WHERE b.CODE=a.CODE and b.NAME =a.NAME)=0

这个sql语句查询a表的code和name没被b表都引用的数据

a表数据

b表数据

结果

上面方法的参考网址(有not in和join的对比):https://www.cnblogs.com/jameshappy/p/6038706.html

 除了上面那个,还可以用EXISTS语法

SELECT * FROM "PUNISHER_ZGXXK" a WHERE NOT EXISTS (SELECT * FROM "PUNISHER_BMGL" b WHERE b.CODE=a.CODE and b.NAME =a.NAME)

 Oracle数据库——多表查询,分组查询,子查询:https://blog.csdn.net/qq_36230524/article/details/82822122?utm_medium=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase&depth_1-utm_source=distribute.pc_relevant_download.none-task-blog-baidujs-1.nonecase

原文地址:https://www.cnblogs.com/pzw23/p/13724470.html