首頁 > 資料庫 > mysql教程 > 如何使用Select語句中的值更新SQL Server表?

如何使用Select語句中的值更新SQL Server表?

Patricia Arquette
發布: 2025-01-25 05:16:09
原創
211 人瀏覽過

How Can I Update a SQL Server Table Using Values from a SELECT Statement?

> 更新SQL Server表,並使用SELECT語句的數據

>

> SQL Server允許使用INSERT...SELECT插入行。 但是,使用SELECT>語句以最初嘗試(例如,UPDATE Table SET col1, col2 SELECT col1, col2...)的方式直接更新表。 正確的方法涉及使用子征服或加入。

>

>假設您需要從臨時表中更新具有值的表。 不正確的嘗試可能是這樣的:

<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>
登入後複製

正確的方法:

1。子查詢方法:

此方法使用子量來獲取更新值:

>
<code class="language-sql">UPDATE Table 
SET col1 = (SELECT col1 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id),
    col2 = (SELECT col2 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id)
WHERE EXISTS (SELECT 1 FROM other_table WHERE sql = 'cool' AND Table.id = other_table.id)</code>
登入後複製

EXISTS子句可確保僅在other_table中匹配條目的行發生更新

2。基於聯接的方法:

此方法利用A

進行更有效的更新:> JOIN

這個
<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>> Table_A,僅應用更新。 Table_Bsubqueries and Joins都提供了使用id>語句派生的數據更新SQL Server表的有效方法,從而增強了數據操縱靈活性和性能。

以上是如何使用Select語句中的值更新SQL Server表?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板