呵呵,园里的兄弟我又来写简单的文章了,希望大家不吝赐教。这次要说的是sql里面的update语句。说到这里,肯定会有很多兄弟不满意了,不就是update语句吗?谁不会写啊,update table set column=expression [where search_condition 啊。
但真的update语句就仅仅这样吗?它的精髓它的原理是什么呢?我们通过例子来说明:
假设有一张成绩表,只有两个字段,姓名和成绩。怎样用一个sql语句查询出某个学生的姓名,成绩以及在表中的排名?
呵呵,这个问题是上次我发过的,详情见 https://www.jb51.net/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可以达到事半功倍的效果哦。
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
稳了!魔兽国服回归的3条重磅消息!官宣时间再确认!
昨天有一位朋友在大神群里分享,自己亚服账号被封号之后居然弹出了国服的封号信息对话框。
这里面让他访问的是一个国服的战网网址,com.cn和后面的zh都非常明白地表明这就是国服战网。
而他在复制这个网址并且进行登录之后,确实是网易的网址,也就是我们熟悉的停服之后国服发布的暴雪游戏产品运营到期开放退款的说明。这是一件比较奇怪的事情,因为以前都没有出现这样的情况,现在突然提示跳转到国服战网的网址,是不是说明了简体中文客户端已经开始进行更新了呢?
更新日志
- dnf自定义ss怎么看基础奶量
- 区瑞强.2013-友缘再相聚·2辑【中唱】【WAV+CUE】
- 唐晓诗.1988-上了你瘾【滚石】【WAV+CUE】
- 陈慧娴.2014-BACKTOPRISCILLA三十3CD【环球】【WAV+CUE】
- 《赛博朋克2077》最新高清纹理MOD:彻底改造所有树木
- 再入医院!孙亚龙发文:又中奖了 右腿疑似静脉血栓
- 《怪物猎人物语》系列PS4版容量公布:发售前可预载
- 《剑星》不明礼物支线密码分享
- 《庄园领主》新手教程指南
- 《蟹蟹寻宝奇遇》成就列表一览
- 张蓉蓉.2018-为情所害【豪记】【WAV+CUE】
- 傻子与白痴.2023-姿态【哇唧唧哇】【FLAC分轨】
- 侯德健.1989-侯德健作品集(83-84)(复刻版)【瑞华】【WAV+CUE】
- 家家.2016-还是想念【相信音乐】【WAV+CUE】
- 费玉清.2003-为何你爱着别人【南方】【WAV+CUE】