mysql-如何在一个表中获取不在另一表中的重复记录?
发布时间:2022-08-17 05:42:56 344
相关标签: # 数据库
我有如下表1和表2:
表1:
col1 col2
-------------
a1 b1
a2 b1
a3 b2
a4 b3
a5 b3
a5 b4
a5 b2
表2:
col2 col3
----------
b1 c1
b4 c2
为了获得表1中col2的所有重复条目,我编写了以下查询:
SELECT x.col1,x.col2
FROM table1 x
JOIN (SELECT t.col2
FROM table1 t
GROUP BY t.col2
HAVING COUNT(t.col2) > 1) y ON y.col2 = x.col2
现在我想从上面的结果中筛选出表2中的条目
SELECT x.col1,x.col2
FROM table1 x
JOIN (SELECT t.col2
FROM table1 t
GROUP BY t.col2
HAVING COUNT(t.col2) > 1) y ON y.col2 = x.col2 where x.col2 not in (select col2 from table2)
我在样本表上看到了预期结果。有没有更有效的方法来实现同样的结果?还有我可能错过的案子吗?
谢谢
特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报