两个表a、b,想使b中的memo字段值等于a表中对应id的name值
表a:id,name
1 王
2 李
3 张
表b:id,ClientName
1
2
3
(MS SQL Server)语句:
update b set ClientName = a.name from a,b where a.id = b.id
(Oralce)语句:
update b set (ClientName) = (SELECT name FROM a WHERE b.id = a.id)
当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_TUserID
FROM T_OrderForm A LEFT JOIN T_ProductInfo B ON B.L_ID=A.ProductID
用来同步两个表的数据!
Oralce和DB2都支持的语法:
UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)
MS SQL Server不支持这样的语法,相对应的写法为:
UPDATE A SET A1 = B1, A2 = B2, A3 = B3 FROM A LEFT JOIN B ON A.ID = B.ID
个人感觉MS SQL Server的Update语法功能更为强大。MS SQL SERVER的写法:
UPDATE A SET A1 = B1, A2 = B2, A3 = B3 FROM A, B WHERE A.ID = B.ID
在Oracle和DB2中的写法就比较麻烦了,如下:
UPDATE A SET (A1, A2, A3) = (SELECT B1, B2, B3 FROM B WHERE A.ID = B.ID)
WHERE ID IN (SELECT B.ID FROM B WHERE A.ID = B.ID)
分享到:
相关推荐
Oracle数据库中的多表关联UPDATE语句是用于在一个表中更新数据时,依据另一个表的条件进行操作的关键技术。这在处理复杂的数据同步或修正场景时非常有用。在本例中,我们将探讨如何利用多表关联来更新数据,并通过...
标准 Update 语句是 Oracle 中最基本的更新语句,语法为:`UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值`。例如:`UPDATE t_join_situation SET join_state='1' WHERE year='2011'`。这种方式适用于更新...
今天,我们将讨论 Oracle 中的 Update 语句,包括 Update 语句的基本语法、Update 语句中使用 Select 语句、Update 语句中使用 Join 语句、Insert 语句的使用等。 一、Update 语句的基本语法 Update 语句的基本...
在本篇文档中,作者详细总结了在实际项目中针对Oracle数据库的update语句优化的四种方案。以下是对这四种方案的知识点进行详细的阐述: 1. 标准update语法优化: 当面对单表更新或较简单的SQL语句时,可以直接使用...
在Oracle数据库中,多表关联的UPDATE语句用于更新一个表中的数据,这些数据依赖于另一个或多个表的记录。这种操作在数据整合、错误修正或者数据同步时非常常见。以下我们将详细探讨如何使用不同方式执行多表关联的...
在数据库管理中,UPDATE语句用于修改已存在的数据记录,而SELECT语句则用于查询数据。在某些场景下,我们可能需要从UPDATE语句转换为SELECT语句,以验证更新操作将影响哪些行或者理解更新逻辑。这在调试、数据分析或...
本文将深入探讨Oracle中`UPDATE`语句的几种常见用法,以及在不同场景下如何进行性能分析和优化。 #### 简单的`UPDATE`语句 在最基本的层面上,`UPDATE`语句用于修改表中的特定行。例如,在上述例子中,由于客户所在...
在Oracle数据库管理中,UPDATE语句是用于修改现有数据表中的记录。然而,不恰当的UPDATE操作可能会导致性能问题,特别是在处理大量数据时。本文将深入探讨如何优化Oracle数据库中的UPDATE语句,以提高数据库效率。 ...
在Oracle数据库中,`UPDATE`语句用于修改现有行的数据。一个基本的`UPDATE`语句包含两个主要部分:`SET`子句用于指定要修改的列及新值,`WHERE`子句则用于指定哪些行需要被更新。在实际应用中,经常需要动态地生成...
如果我们的数据库设计只包含一个表`Ttest`来表示层级关系(即`Ttest.parentId = Ttest.id`),我们可以修改上面的`UPDATE`语句,将`FROM`子句中的表也设定为`Ttest`,但需要为其中一个实例赋予别名以区分它们: ...
在本文中,我们将详细介绍 Oracle 中常用的 SQL 语句,包括数据控制语句(DML)、数据定义语句(DDL)和其他相关知识点。 一、数据控制语句(DML) 数据控制语句用于操作数据库中的数据,包括插入、删除、更新等...
标题中的“update语句”指的是在数据库管理中用于修改现有数据的SQL命令。在数据库操作中,`UPDATE`语句是不可或缺的一部分,它允许我们更改表中的特定行或所有行的数据。下面将详细介绍`UPDATE`语句的工作原理、...
本文档总结了 Oracle 中常用的 SQL 语句,包括数据库的创建、删除、备份、表的创建、删除、修改、索引的创建、视图的创建等基本操作,以及一些高级查询运算符的使用。 一、数据库操作 * 创建数据库:CREATE ...
在数据库操作中,`UPDATE`语句是用于修改现有记录的关键工具之一。对于大型数据库系统来说,优化`UPDATE`语句能够显著提升数据处理速度和效率,减少资源消耗,提高整体性能。本文将通过分析提供的代码示例来探讨几种...
在这个场景中,我们可以利用批处理文件来简化Oracle数据库的操作,如删除用户、创建用户、创建表和触发器,以及执行其他SQL语句。 首先,我们需要了解如何在批处理文件中连接Oracle数据库。这通常通过Oracle的...
Oracle PL/SQL 结构控制语句是 PL/SQL 语言中的一种基本结构,用于控制程序的逻辑流程。结构控制语句可以分为两种:分支结构和循环结构。在本篇文章中,我们将详细介绍 Oracle PL/SQL 结构控制语句的使用方法和示例...
Oracle 查询语句大全是 Oracle 数据库管理系统中最基本也是最重要的组成部分,用于管理和维护数据库。本文将详细介绍 Oracle 查询语句的使用方法和实践操作。 一、创建用户和授权 在 Oracle 中,创建用户和授权是...
本文将深入探讨Oracle中常用的SQL语句以及与数据库表空间相关的维护知识。 首先,让我们了解如何在Oracle中创建表空间。表空间是Oracle数据库中存储数据的逻辑单位,它由一个或多个数据文件组成。创建表空间的SQL...
以下是一些在Oracle开发中常用的SQL语句及其详细解释: 1. **数据查询(SELECT语句)**: - `SELECT column1, column2 FROM table_name;`:基本的查询语句,获取指定列的数据。 - `WHERE condition;`:定义查询...
在Delphi中,数据库操作是开发企业级应用的重要部分,其中UPDATE语句是修改已有数据的关键操作。本文将深入探讨如何在Delphi中利用UPDATE语句来更新数据库中的记录,结合具体的示例代码进行详细解释。 首先,我们...