根据主键查询两张表的差异数据
时间: 2023-07-08 08:26:37 浏览: 83
Oracle中比对2张表之间数据是否一致的几种方法
4星 · 用户满意度95%
对于这个问题,需要先了解一下表的结构和主键的定义。假设有两张表table1和table2,它们都有一个主键id,我们可以通过以下SQL语句查询两张表的差异数据:
```
SELECT * FROM table1 WHERE id NOT IN (SELECT id FROM table2);
```
这条SQL语句的意思是查询table1中id不在table2中出现过的数据,即table1有而table2没有的数据。同理,如果需要查询table2有而table1没有的数据,可以将语句中的table1和table2互换即可:
```
SELECT * FROM table2 WHERE id NOT IN (SELECT id FROM table1);
```
需要注意的是,这种方法只适用于主键是唯一的情况,如果主键不唯一,可能会出现重复数据。
阅读全文