table 數據庫表
此數據庫表中,Name,與Nickname一致
Name | Age | Sex | Nickname | Work |
---|---|---|---|---|
小紅 | 20 | 女 | 小紅 | 教師 |
小明 | 28 | 男 | 小明 | 警察 |
小亮 | 30 | 男 | 小亮 | 律師 |
需求:向表中再爲小紅插入一條職業信息。其中,Name,Age,Sex,Nickname字段均與原數據一致,只有Work不同。如過想要插入數據變動不大時,可以使用此語句,sql語句如下:
Insert into table(Name,Age,Sex,Nickname,Work)
select top 1 b.Name, b.Age, b.Sex, b.Name AS Nickname,'客服'
from table b where b.Name='小紅';
結果:
Name | Age | Sex | Nickname | Work |
---|---|---|---|---|
小紅 | 20 | 女 | 小紅 | 教師 |
小明 | 28 | 男 | 小明 | 警察 |
小亮 | 30 | 男 | 小亮 | 律師 |
小紅 | 20 | 女 | 小紅 | 客服 |
若想同時爲一個人插入兩條職業信息,sql語句如下:
Insert into table(Name,Age,Sex,Nickname,Work)
select top 1 b.Name, b.Age, b.Sex, b.Name AS Nickname,'客服' from table b where b.Name='小紅'
UNION
select top 1 b.Name, b.Age, b.Sex, b.Name AS Nickname,'司機' from table b where b.Name='小紅'
**注意:
1、select語句中一定要限制查詢到的記錄數爲1,否則插入會報錯。
2、要求目標表Table必須存在,由於目標表Table已經存在,所以我們除了插入源表Table b的字段外,還可以插入常量。(兩個表可以是同一個)
**