对比数据库中两张表的数据

  • Post author:
  • Post category:其他


背景:有一张总表,多张其他表,筛选出主表中有其他表中没有的数据

1、 在 总表中添加一个标记字段

biaoji

2、 用 inner jion 内连接两个表 找出两个表交叉的数据


SELECT a.* from a INNER JOIN b on a.id = b.id

注意:查询的表只能是单表数据,才可以修改数据,所以用 a.* 。如果用 * 查询出的是只读数据。

a表要有主键,目的是能够让Navicat工具找到该条修改数据

3、 添加标记字段数据

4、 用 标记字段 is null 来筛选差异数据


select * from a where a.biaoji is not null

  1. 更新

update RX_SYS_USER12 set ss = ‘1’ where SCHOOL_CODE in (

SELECT a.SCHOOL_CODE from RX_SYS_USER12 a INNER JOIN RX_SYS_USER1 b on a.SCHOOL_CODE = b.SCHOOL_CODE

);

可参考

菜鸟教程

中的 ‘sql连接’ 这一篇理解。



版权声明:本文为weixin_43519085原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。