Sql server 的update語句的新認識
一般的update語句的用法為
update test set xxx = 'xxx' where id = 'xxx'
update test set xxx = 'xxx' where id = (子查詢)
除了這兩種形式,但不知還有這種形式
建表語句:
create table tb1(
id int primary key identity(1,1),
salary int
)
GO
insert into tb1(salary) values(100)
insert into tb1(salary) values(200)
GO
create table tb2(
id int primary key identity(1,1),
tb1_id int references tb1(id),
salary int
)
GO
insert into tb2(tb1_id) values(1)
insert into tb2(tb1_id) values(2)
資料庫中的資料:
tb1
==================
id salary
---------------------------------
1 100
2 200
---------------------------------
tb2
==================
id tb1_id salary
---------------------------------
1 1 null
2 2 null
---------------------------------
要改為的結果:
tb2
==================
id tb1_id salary
---------------------------------
1 1 100
2 2 200
---------------------------------
sql為:
UPDATE tb2
SET tb2.salary = tb1.salary
FROM tb2
INNER JOIN tb1
ON (tb2.tb1_id=tb1.id)
(ps: 只有sql server才支援這種語法,oracle中是不支援的)
這種形式非常有用,以前做跨表更新是都是用檢視來做的,沒想到居然可以這樣。
在oracle有變通的實現方法: http://www.cnblogs.com/JasonLiao/archive/2009/12/23/1630895.html
相關文章
- Sql Server系列:Update語句SQLServer
- MySql與Sql Server Update語句MySqlServer
- 【SQL】10 SQL UPDATE 語句SQL
- SQL update select語句SQL
- Sql Server Rollup 語句的用法SQLServer
- 資料庫介紹--認識簡單的SQL語句資料庫SQL
- SQL Server 2008中的新語句:MERGESQLServer
- 一條update SQL語句是如何執行的SQL
- 認識oracle的update更新Oracle
- SQL Server FOR XML PATH 語句的應用SQLServerXML
- SQL SERVER 條件語句的查詢SQLServer
- Sql Server系列:Delete語句SQLServerdelete
- SQL server 查詢語句SQLServer
- sql server中常用語句SQLServer
- DBA常用SQL語句[sql server] 2SQLServer
- sql server 中的一些實用的sql語句SQLServer
- SQL Server 查詢歷史執行的SQL語句SQLServer
- MySQL的update語句避坑MySql
- update語句的優化方式優化
- SQL Server語句的自動優化工具SQLServer優化
- 匯出Sql Server資料字典的語句SQLServer
- 識別低效執行的SQL語句SQL
- SQL Server阻塞查詢語句SQLServer
- Sql Server系列:Insert語句SQLServer
- SQL SERVER 流程控制語句SQLServer
- SQL Server SQL語句執行順序SQLServer
- Sql server with as update用法SQLServer
- SQL Server SQL語句進行優化的基本原則SQLServer優化
- Mysql跨表更新 多表update sql語句總結MySql
- LINQ to SQL語句之Insert/Update/Delete操作SQLdelete
- SQL Server優化之SQL語句優化SQLServer優化
- Sql Server系列:資料控制語句SQLServer
- Sql Server系列:流程控制語句SQLServer
- Sql Server系列:Select基本語句SQLServer
- SQL Server SQL語句進行優化的基本原則 (轉)SQLServer優化
- MySQL、Oracle和SQL Server的分頁查詢語句MySqlOracleServer
- 一條update語句的優化探索優化
- oracle update語句的幾點寫法Oracle