全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
update语法汇总 最常用的update语法是:UPDATE SET = ,SET = 如果我的更新值Value是从一条select语句拿出来,而且有很多列的话,用这种语法就很麻烦第一,要select出来放在临时变量上,有很多个哦第二,再将变量进行赋值。列多起来非常麻烦,能不能像Insert那样,把整个Select语句的结果进行插入呢?就好象下面insert into table1(c1, c2, c3)(select v1, v2, v3 from table2)答案是可以的,具体的语法如下:UPDATE SET(,)=(SELECT(, )FROM WHERE = )WHERE ;下面是这样一个例子:两个表a、b,想使b中的memo字段值等于a表中对应id的name值表a:id, name1 王2 李3 张表b:id,ClientName 123(MS SQL Server)语句:update b set ClientName = from a,b where a.id = b.id(Oralce)语句:update b set (ClientName) = (SELECT name FROM a WHERE b.id = a.id)update set from 语句格式当where和set都需要关联一个表进行查询时,整个update执行时,就需要对被关联的表进行两次扫描,显然效率比较低。对于这种情况,Sybase和SQL SERVER的解决办法是使用UPDATE.SET.FROM.WHERE.的语法,实际上就是从源表获取更新数据。在 SQL 中,表连接(left join、right join、inner join 等)常常用于 select 语句,其实在 SQL 语法中,这些连接也是可以用于 update 和 delete 语句的,在这些语句中使用 join 还常常得到事半功倍的效果。UpdateT_OrderFormSETT_OrderForm.SellerID =B.L_TUserIDFROM T_OrderForm ALEFT JOIN T_ProductInfo BON B.L_ID=A.ProductID用来同步两个表的数据!Oralce和DB2都支持的语法:UPDATEASET(A1, A2, A3)=(SELECTB1, B2, B3FROMBWHEREA.ID=B.ID)MS SQL Server不支持这样的语法,相对应的写法为:UPDATEASETA1=B1, A2=B2, A3=B3FROMALEFTJOINBONA.ID=B.ID个人感觉MS SQL Server的Update语法功能更为强大。MS SQL SERVER的写法:UPDATEASETA1=B1, A2=B2, A3 = B3FROMA, BWHEREA.ID=B.ID在Oracle和DB2中的写法就比较麻烦了,如下:UPDATEASET(A1, A2, A3)=(SELECTB1, B2, B3FROMBWHEREA.ID=B.ID)WHEREIDIN(SELECTB.IDFROMBWHEREA.ID=B.ID)关于update set from关键字: update set from 下面是这样一个例子:两个表a、b,想使b中的memo字段值等于a表中对应id的name值 表a:id, name 1 王 2 李 3 张 表b:id,ClientName 1 2 3 (MS SQL Server)语句:update bset ClientName= from a,bwhere a.id = b.id (Oralce)语句:update bset (ClientName)=(SELECT nameFROM a WHERE b.id = a.id)update set from 语句格式当where和set都需要关联一个表进行查询时,整个update执行时,就需要对被关联的表进行两次扫描,显然效率比较低。对于这种情况,Sybase和SQL SERVER的解决办法是使用UPDATE.SET.FROM.WHERE.的语法,实际上就是从源表获取更新数据。在 SQL 中,表连接(left join、right join、inner join 等)常常用于 select 语句,其实在 SQL 语法中,这些连接也是可以用于 update 和 delete 语句的,在这些语句中使用 join 还常常得到事半功倍的效果。Update T_OrderForm SET T_OrderForm.SellerID =B.L_TUserIDFROM T_OrderForm A LEFT JOIN T_ProductInfo B ON B.L_ID=A.ProductID用来同步两个表的数据!Oralce和DB2都支持的语法:UPDATEA SET(A1,A2,A3)=(SELECTB1,B2,B3FROMBWHEREA.ID=B.ID)MS SQL Server不支持这样的语法,相对应的写法为:UPDATEASETA1=B1,A2=B2,A3=B3FROMALEFTJOINBONA.ID=B.ID个人感觉MS SQL Server的Update语法功能更为强大。MS SQL SERVER的写法:UPDATEASETA1=B1,A2=B2, A3 = B3 FROMA,BWHEREA.ID=B.ID在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025中国储备粮管理集团有限公司安徽分公司员工招聘55人备考题库及答案详解(历年真题)
- 特殊人才计划协议书
- 2026届湖南省岳阳市岳阳县第一中学高三上学期期中考试历史试题(含答案)
- 医疗志愿服务在呼吸康复中的个性化方案
- 护理职业心理素质与抗压能力课件
- 护理科研论文写作规范与技巧
- 药物外渗患者中医情志护理要点
- 脑血管造影术患者心理护理与人文关怀实践
- 安全课件初中
- 信息化技术在危重症护理学科建设中的应用
- 换产换型管理办法
- 燃气执法管理办法
- 酒店食品健康管理办法
- 桩基检测安全培训
- 资产接收方案(3篇)
- 人物形象设计题库及答案
- 电信公司笔试题目及答案
- 轨道工程试题及答案
- 先天性甲状腺功能减退症诊治指南(2025)解读
- DB3401T 353-2024城镇雨污分流改造技术导则
- 奶牛体况评分Learn-to-Score-BCS
评论
0/150
提交评论