




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、update语法最常用的update语法是:UPDATESET=,SET=如果我的更新值Value是从一条select语句拿出来,而且有很多列的话,用这种语法就很麻烦第一,要select出来放在临时变量上,有很多个哦第二,再将变量进行赋值。列多起来非常麻烦,能不能像Insert那样,把整个Select语句的结果进行插入呢?就好象下面insertintotable1(c1,c2,c3)(selectv1,v2,v3fromtable2)答案是可以的,具体的语法如下:UPDATESET(,)=(SELECT(,)FROMWHERE=)WHERE;面是这样一个例子:两个表a、b,想使b中的memo字
2、段值等于a表中对应id的name值表a:id,name1王2李3张表b:id,ClientName123(MSSQLServer)语句:updatebsetClientName=froma,bwherea.id=b.id(Oralce)语句:updatebset(ClientName)=(SELECTnameFROMaWHEREb.id=a.id)updatesetfrom语句格式当where和set都需要关联一个表进行查询时,整个update执行时,就需要对被关联的表进行两次扫描,显然效率比较低。对于这种情况,Sybase和SQLSERVER的解决办法是使用UPDATESET.F
3、ROMWHERE.的语法,实际上就是从源表获取更新数据。在SQL中,表连接(leftjoin、rightjoin、innerjoin等)常常用于select语句,其实在SQL语法中,这些连接也是可以用于update和delete语句的,在这些语句中使用join还常常得到事半功倍的效果。UpdateT_OrderFormSETT_OrderForm.SellerID=B.L_TUserIDFROMT_OrderFormALEFTJOINT_ProductInfoBONB.L_ID=A.ProductID用来同步两个表的数据!Oralce和DB2都支持的语法:UPDATEASET(A1,A2,A3
4、)=(SELECTB1,B2,B3FROMBWHEREA.ID=B.ID)MSSQLServer不支持这样的语法,相对应的写法为:UPDATEASETA1=B1,A2=B2,A3=B3FROMALEFTJOINBONA.ID=B.ID个人感觉MSSQLServer的Update语法功能更为强大。MSSQLSERVER的写法:UPDATEASETA1=B1,A2=B2,A3=B3FROMA,BWHEREA.ID=B.ID在Oracle和DB2中的写法就比较麻烦了,如下:UPDATEASET(A1,A2,A3)=(SELECTB1,B2,B3FROMBWHEREA.ID=B.ID)WHEREIDI
5、N(SELECTB.IDFROMBWHEREA.ID=B.ID)SELECTINTO和INSERTINTOSELECT两种表复制语句SELECTINTO和INSERTINTOSELECT两种表复制语句Insert是T-sql中常用语句,InsertINTOtable(field1,field2,)values(value1,value2,.)这种形式的在应用程序开发中必不可少。但我们在开发、测试过程中,经常会遇到需要表复制的情况,如将一个table1的数据的部分字段复制到table2中,或者将整个table1复制到table2中,这时候我们就要使用SELECTINTO和INSERTINTOSE
6、LECT表复制语句了。1.INSERTINTOSELECT语句语句形式为:InsertintoTable2(field1,field2,)selectvalue1,value2,fromTable1要求目标表Table2必须存在,由于目标表Table2已经存在,所以我们除了插入源表Table1的字段外,还可以插入常量。示例如下:田日-1.创建测试表createTABLETable1(avarchar(10),bvarchar(10),cvarchar(10),CONSTRAINTPK_Table1PRIMARYKEYCLUSTERED(aASC)ONPRIMARYcreateTABLETabl
7、e2(avarchar(10),cvarchar(10),dint,CONSTRAINTPK_Table2PRIMARYKEYCLUSTERED(aASC)ONPRIMARYGO-2.创建测试数据InsertintoTablelvalues(赵,asds,9O)InsertintoTablelvalues(钱,asds,100)InsertintoTablelvalues(孙,asds,8O)InsertintoTablelvalues(李,asds,null)GOselect*fromTable2-3.INSERTINTOSELECT语句复制表数据InsertintoTable2(a,c,d
8、)selecta,c,5fromTable1GO-4.显示更新后的结果select*fromTable2GO-5.删除测试表dropTABLETable1dropTABLETable22.SELECTINTOFROM语句语句形式为:SELECTvalel,value2intoTable2fromTablel要求目标表Table2不存在,因为在插入时会自动创建表Table2,并将Tablel中指定字段数据复制到Table2中。示例如下:田日-1.创建测试表createTABLETable1(avarchar(10),bvarchar(10),cvarchar(10),CONSTRAINTPK_Table1PRIMARYKEYCLUSTERED(aASC)ONPRIMARYGO-2.创建测试数据InsertintoTable1values(赵,asds,90)InsertintoTable1values(钱,asds,100)InsertintoTable1values(孙,asds,80)InsertintoTable1values(李,asds,null
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025-2030年中国直饮水机行业市场现状供需分析及投资评估规划分析研究报告
- 2024年河北雄安史家胡同小学选聘教职人员真题
- 2025-2030年中国珠宝首饰行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国烘焙脂肪行业市场现状供需分析及投资评估规划分析研究报告
- 2025年案例分析3M工业胶粘产品营销策略的改善
- 2025-2030年中国浴室厨房用品行业市场深度调研及前景趋势与投资研究报告
- 2025-2030年中国泡腾产品行业市场现状供需分析及投资评估规划分析研究报告
- 2025-2030年中国水滑板车行业市场现状供需分析及投资评估规划分析研究报告
- 教研引领高中生物学高质量发展的策略及实施路径
- 中国太阳能水泵行业市场调研及未来发展趋势预测报告
- 运筹学课程设计
- 承认外国离婚判决申请书
- 小说阅读答题技巧
- CC++程序设计-同济大学中国大学mooc课后章节答案期末考试题库2023年
- 基于GeoGebra的数学研究与教学应用课件
- 尿崩症诊疗规范内科学诊疗规范诊疗指南2023版
- 老年法律法规体系初识 老年服务与管理法律法规概述
- 【地方政府促进乡村旅游发展研究文献综述3600字】
- 西安市商品住宅使用说明书
- 西部科学城重庆高新区引进急需紧缺人才38人模拟检测试卷【共1000题含答案解析】
- 湖南2022年事业编招聘考试《职业能力倾向测验》真题及答案解析【最全版】
评论
0/150
提交评论