在 SQL Server 中使用 SELECT 语句掌握表更新
SQL Server 的 INSERT...SELECT
语句简化了使用另一个表中的数据添加行的过程。 但是您可以使用类似的方法来更新表吗? 本指南解释了如何操作。
假设您有一个临时表,其中包含要合并到主表中的更新值。 常见(但不正确)的方法可能如下所示:
<code class="language-sql">UPDATE Table SET col1, col2 SELECT col1, col2 FROM other_table WHERE sql = 'cool' WHERE Table.id = other_table.id</code>
这个语法是有缺陷的。 正确的方法利用连接来实现高效、准确的更新:
<code class="language-sql">UPDATE Table_A SET Table_A.col1 = Table_B.col1, Table_A.col2 = Table_B.col2 FROM Some_Table AS Table_A INNER JOIN Other_Table AS Table_B ON Table_A.id = Table_B.id WHERE Table_A.col3 = 'cool'</code>
此优化查询使用 JOIN
根据匹配的 Some_Table
值链接来自 Table_A
(别名为 Other_Table
)和 Table_B
(别名为 id
)的行。 WHERE
子句将更新过滤为仅包含 Table_A.col3 = 'cool'
的行。 这可以确保使用通过 SELECT
语句检索的数据更新表时数据的完整性和准确性。
以上是我可以使用SESET语句在SQL Server中更新表吗?的详细内容。更多信息请关注PHP中文网其他相关文章!