mysql中通过not exists寻找两个表中的差异数据

来源:互联网 发布:阿里云备案换服务器 编辑:程序博客网 时间:2024/06/07 06:34
mysql中通过not exists寻找两个表中的差异数据

因为要处理图片介绍表(A表)和图片地址(B表)两张表和中的数据,A表和B表通过字段aid关联,可能是由于导数据的时候,造成A表中的数据比B表中多。现在要给修改好。如下:

A表:                       

aid       title

   1         a1

   2         a2

   3         a3
   
   4         a4

B表:

aid     content  

  1          test1

  2          test2

解决思路:首先查询出B表中不存的数据,然后再相对应的插入到B表就能搞定。

SELECT * FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE A.aid = B.aid)

SQL结果是:

aid       title

   3         a3
   
   4         a4

最后的SQL是:INSERT INTO B (aid) SELECT A.aid FROM A WHERE NOT EXISTS(SELECT 1 FROM B WHERE A.aid = B.aid)



原创粉丝点击