SQL中update select用法
當(dāng)前位置:點(diǎn)晴教程→知識(shí)管理交流
→『 技術(shù)文檔交流 』
最常用的update語(yǔ)法是:
下面是這樣一個(gè)例子: 兩個(gè)表a、b,想使b中的memo字段值等于a表中對(duì)應(yīng)id的name值 (Oralce)語(yǔ)句:update b set (ClientName) = (SELECT name FROM a WHERE b.id = a.id) update set from 語(yǔ)句格式 當(dāng)where和set都需要關(guān)聯(lián)一個(gè)表進(jìn)行查詢時(shí),整個(gè)update執(zhí)行時(shí),就需要對(duì)被關(guān)聯(lián)的表進(jìn)行兩次掃描,顯然效率比較低。 在 SQL 中,表連接(left join、right join、inner join 等)常常用于 select 語(yǔ)句,其實(shí)在 SQL 語(yǔ)法中,這些連接也是可以用于 update 和 delete 語(yǔ)句的,在這些語(yǔ)句中使用 join 還常常得到事半功倍的效果。 Update T_OrderForm SET T_OrderForm.SellerID =B.L_TUserID 用來(lái)同步兩個(gè)表的數(shù)據(jù)! Oralce和DB2都支持的語(yǔ)法: UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID) MS SQL Server不支持這樣的語(yǔ)法,相對(duì)應(yīng)的寫法為: 個(gè)人感覺(jué)MS SQL Server的Update語(yǔ)法功能更為強(qiáng)大。MS SQL SERVER的寫法: 在Oracle和DB2中的寫法就比較麻煩了,如下: UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID) 該文章在 2012/5/11 17:27:30 編輯過(guò) |
關(guān)鍵字查詢
相關(guān)文章
正在查詢... |