比较两个table,从具体的table考虑插入

Compare two tables and consider from specific table to insert

我们如何从一个 table 中获取数据与另一个进行比较?

我需要验证 tableAtableB:如果 tableB 中存在记录,则考虑 tableB 的数据 - 如果不存在,则使用 tableA 的数据 - 并插入 tableC.

表A

id    addressNumber  address2     unitno    zip
------------------------------------------------
1001    250-280      abc street             29383
1002    350-400      xyz street             29831
1003    475          hfg street             8474

tableB

id    addressNumber  address2     unitno    zip
------------------------------------------------
1001    250          abc street     22      29383
1001    260          abc street     24      29383
1001    280          abc street     23      29383
1002    350          xyz street     32      29831
1002    360          xyz street     34      29831
1002    390          xyz street     39      29831

输出到表 C:

id    addressNumber  address2     unitno    zip
------------------------------------------------
1001    250          abc street     22      29383
1001    260          abc street     24      29383
1001    280          abc street     23      29383
1002    350          xyz street     32      29831
1002    360          xyz street     34      29831
1002    390          xyz street     39      29831
1003    475          hfg street             8474

这里id,addressnumber,unitno为主键

我想你想要:

select b.*
from b
union all
select a.*
from a
where not exists (select 1
                  from b
                  where b.id = a.id 
                 );