我们如何比较两个 MySQL 表中的数据?
短信预约 -IT技能 免费直播动态提醒
有时我们需要找出两个表中不匹配的数据,尤其是在数据迁移的情况下。可以通过比较表格来完成。考虑下面的示例,其中我们有两个名为“students”和“student1”的表。
mysql> Select * from students;
+--------+--------+----------+
| RollNo | Name | Subject |
+--------+--------+----------+
| 100 | Gaurav | Computer |
| 101 | Raman | History |
| 102 | Somil | Computer |
+--------+--------+----------+
3 rows in set (0.00 sec)
mysql> select * from student1;
+--------+--------+----------+
| RollNo | Name | Subject |
+--------+--------+----------+
| 100 | Gaurav | Computer |
| 101 | Raman | History |
| 102 | Somil | Computer |
| 103 | Rahul | DBMS |
| 104 | Aarav | History |
+--------+--------+----------+
5 rows in set (0.00 sec)
现在,借助下面的查询,我们可以比较这些表并获取不匹配的行作为结果集。
mysql> Select RollNo,Name,Subject from(select RollNo,Name,Subject from students union all select RollNo,Name,Subject from Student1)as std GROUP BY RollNo,Name,Subject HAVING Count(*) = 1 ORDER BY RollNo;
+--------+-------+---------+
| RollNo | Name | Subject |
+--------+-------+---------+
| 103 | Rahul | DBMS |
| 104 | Aarav | History |
+--------+-------+---------+
1 rows in set (0.02 sec)
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341