栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何在SQL Server中使用JOIN执行UPDATE语句?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何在SQL Server中使用JOIN执行UPDATE语句?

语法严格取决于您使用的SQL DBMS。这里有一些在ANSI / ISO(也可以在任何SQL DBMS中使用),MySQL,SQL Server和Oracle上完成此操作的方法。请注意,我建议的ANSI / ISO方法通常比其他两种方法要慢得多,但是如果您使用的是MySQL,SQL Server或Oracle以外的SQL DBMS,则可能是唯一的方法(例如如果您的SQL DBMS不支持MERGE):

ANSI / ISO:

update ud      set assid = (          select sale.assidfrom salewhere sale.udid = ud.id     ) where exists (      select *       from sale       where sale.udid = ud.id );

MySQL:

update ud uinner join sale s on    u.id = s.udidset u.assid = s.assid

SQL Server:

update uset u.assid = s.assidfrom ud u    inner join sale s on        u.id = s.udid

PostgreSQL:

update ud  set assid = s.assidfrom sale s where ud.id = s.udid;

请注意,不得在FROMPostgres的子句中重复目标表。

Oracle:

update    (select        u.assid as new_assid,        s.assid as old_assid    from ud u        inner join sale s on u.id = s.udid) upset up.new_assid = up.old_assid

SQLite:

update ud      set assid = (          select sale.assidfrom salewhere sale.udid = ud.id     ) where RowID in (      select RowID       from ud       where sale.udid = ud.id );


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/400055.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号