国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > 文庫 > 正文

也許是被忽略的update語句(update技巧)

2020-10-29 21:50:34
字體:
來源:轉載
供稿:網友

呵呵,園里的兄弟我又來寫簡單的文章了,希望大家不吝賜教。這次要說的是sql里面的update語句。說到這里,肯定會有很多兄弟不滿意了,不就是update語句嗎?誰不會寫啊,update table set column=expression [where search_condition 啊。

但真的update語句就僅僅這樣嗎?它的精髓它的原理是什么呢?我們通過例子來說明:
假設有一張成績表,只有兩個字段,姓名和成績。怎樣用一個sql語句查詢出某個學生的姓名,成績以及在表中的排名?
呵呵,這個問題是上次我發過的,詳情見 http://www.survivalescaperooms.com/article/53832.htm
結果可以去那里看。現在改改問題,假設這張成績表有三個字段,姓名、成績和排名,現在只有姓名和成績有值,怎樣將他們的排名更新上去呢?

有朋友可能會提出類似解決方案:先還是用查詢語句查詢出來,然后通過游標更新排名。
有沒有更好的解決方案呢?當然是有的,答案就是用update語句。

update 成績表 set 排名=(select count(*)+1 from 成績表 where a.成績<成績)
from 成績表 a

可以看到,只用一個語句就實現了。同時我們也可以發現它跟我們平常寫的update語句不同,多了from。其實update語句的原理和select語句很類似,完整的update語句應該是update table set column=expression from table [where search_condition] ,可見后面的一截完全就是個查詢語句。當update的table和查詢的table(也就是from后面的table)完全一致的時候則可以省略,寫成我們最常見的update table set column=expression [where search_condition] 。

上面僅僅是舉了個例子來說明update的用法,真正在開發的時候,靈活恰當地使用update可以達到事半功倍的效果哦。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 本溪市| 晋宁县| 育儿| 绥棱县| 阜城县| 清流县| 喜德县| 镇远县| 塘沽区| 哈密市| 东乌珠穆沁旗| 河东区| 梨树县| 格尔木市| 江都市| 静海县| 武功县| 林芝县| 微山县| 长岛县| 勃利县| 四会市| 彩票| 公安县| 台湾省| 沁阳市| 双城市| 饶河县| 望都县| 云安县| 林芝县| 铁岭市| 油尖旺区| 芜湖县| 镇江市| 黄浦区| 武乡县| 万荣县| 高邑县| 武冈市| 平塘县|