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】10 SQL UPDATE 語句SQL
- 資料庫介紹--認識簡單的SQL語句資料庫SQL
- 一條update SQL語句是如何執行的SQL
- SQL Server 查詢歷史執行的SQL語句SQLServer
- Sql server with as update用法SQLServer
- MySQL的update語句避坑MySql
- Mysql跨表更新 多表update sql語句總結MySql
- sql server 帶有OUTPUT的INSERT,DELETE,UPDATESQLServerdelete
- Sql Server 資料庫獲取字串中小寫字母的SQL語句SQLServer資料庫字串
- SQL Server 語句日期格式查詢方法SQLServer
- SQL Server-簡單查詢語句SQLServer
- SQL語句IN的用法SQL
- 一個UPDATE語句引發的血案
- SQL Server的Merge —— 一步實現 insert,update,deleteSQLServerdelete
- Java中如何解析SQL語句、格式化SQL語句、生成SQL語句?JavaSQL
- SQL語句SQL
- sql語句如何執行的SQL
- MySQL中常用的SQL語句MySql
- sqlserver dba常用的sql語句SQLServer
- SQL 語句的注意事項SQL
- MySQL -update語句流程總結MySql
- ORACLE多表關聯UPDATE語句Oracle
- SQL Server 資料庫部分常用語句小結(二)SQLServer資料庫
- SQL server資料庫表碎片比例查詢語句SQLServer資料庫
- SQL Server 資料庫部分常用語句小結(一)SQLServer資料庫
- SQL Server 2022 RTM 最新累積更新:Cumulative Update #13 for SQL Server 2022 RTMSQLServer
- SQL Server 2008中Analysis Services的新特性——深入SQL Server 2008SQLServer
- sql宣告變數,及if -else語句、while語句的用法SQL變數While
- 資料庫常用的sql語句大全--sql資料庫SQL
- Oracle\MS SQL Server Update多表關聯更新OracleSQLServer
- 單個SQL語句的10046 traceSQL
- mysql的sql語句執行流程MySql
- SQL語句規範的寫法SQL
- 簡單的SQL語句學習SQL
- SQL 語句的執行順序SQL
- MySql和簡單的sql語句MySql
- 優化 SQL 語句的步驟優化SQL
- SQLite語句(二):INSERT DELETE UPDATE SELECTSQLitedelete
- 【SQL】9 SQL INSERT INTO 語句SQL