Mysql 备份表 与 现在的表 的 “并集 - 交集” 怎么获取(除去未变化的数据)?

今天天气不错啊 发布于 2018/11/27 20:58
阅读 65
收藏 1

对一张表t1进行备份, 然后过一段时间( 现在的表记录增删改操作),还原表a, 

求 备份表 和 现在的表  的“并集 - 交集” ,(两表的总记录数会有不同)

请问sql 语句该怎么写 mysql

希望获取到 如下结果。

id name age1 age2
2 lisi 20 22
3 wangwu 30 null 或者0
3 qiqi 40 null 或者0

或者

id name age1 age2
2 lisi 20 22

 

CREATE TABLE `t1` (
  `id` int(11) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8

 

 

CREATE TABLE `t2` (
  `id` int(11) NOT NULL,
  `name` varchar(20) DEFAULT NULL,
  `age` int(11) DEFAULT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8
INSERT INTO t1 VALUES(1,'zhangsan',10);
INSERT INTO t1 VALUES(2,'lisi',20);
INSERT INTO t1 VALUES(3,'wangwu',30);
INSERT INTO t1 VALUES(4,'zhaoliu',40);
 
 
INSERT INTO t2 VALUES(1,'zhangsan',10);
INSERT INTO t2 VALUES(2,'lisi',22);
INSERT INTO t2 VALUES(3,'qiqi',31);
INSERT INTO t2 VALUES(4,'zhaoliu',40);

sql语句来自:https://blog.csdn.net/mine_song/article/details/70184072   谢谢。

加载中
0
今天天气不错啊
今天天气不错啊

只取含有部分同样列,但是又有特定列不同。 select t1.id, t1.name, t1.age, t2.age from t1, t2 where t1.id = t2.id and t1.name = t2.name and t1.age!=t2.age

返回顶部
顶部