Sybase

將兩個表插入在一起,沒有 Id 或 UNIQUE 任何東西

  • November 30, 2018

假設我們有兩個表:

  • table1,保留以下數據:

Name Height Age
---- ------ ---
Mary   1.60  18
Mary   1.62  19
Mary   1.68  20
John   1.80  17
John   1.85  18
John   1.86  19
  • table2,如下所示的行:

Name Height Age
---- ------ ---
Mary   1.60  18
Mary   1.62  19
Mary   1.68  20
John   1.80  17
John   1.85  18
John   1.86  19
Vince  1.78  22
Vince  1.80  23

我將如何使用 Sybase 加入這兩個表,以便之後table1在其中包含 Vince 數據?

table2其視為包含新資訊的臨時表。我想更新table1新資訊。

應該:

insert into table1
select * from table2
except
select * from table1;

您還可以使用:

select * 
from table2 
where Name not in (select Name from table1)

這也有效(假設Name不能NULL)。

不同之處在於except版本提供了所有不相同的行,而not in查詢提供了名稱不存在的所有行。由您決定這是否是您需要的。

引用自:https://dba.stackexchange.com/questions/139921