根據符合的使用者名稱更新 SQL 表:一種有效的方法
假設您有兩個 SQL 表,table_a
和 table_b
,都包含 user_name
欄位。 目標是將資料從 table_b
中的特定列複製到 table_a
中的對應列,僅限使用者名稱匹配的行。
最佳化的 SQL 查詢
這裡有一個有效的 SQL 語句來實現此資料傳輸:
<code class="language-sql">UPDATE table_a SET column_a_1 = (SELECT table_b.column_b_1 FROM table_b WHERE table_b.user_name = table_a.user_name), column_a_2 = (SELECT table_b.column_b_2 FROM table_b WHERE table_b.user_name = table_a.user_name) WHERE EXISTS (SELECT 1 FROM table_b WHERE table_b.user_name = table_a.user_name);</code>
查詢的操作如下:
column_a_1
中 table_a
的值更新 column_b_1
中的 table_b
,根據 user_name
來匹配行。 column_a_2
中 table_a
的對應值同時更新 column_b_2
中的 table_b
。 EXISTS
子句確保僅對兩個表中存在的 user_name
條目進行更新,從而防止錯誤。 為了獲得最佳效能,請確保 user_name
和 table_a
中的 table_b
欄位都有索引。這種索引顯著提高了查詢的速度和效率。
以上是如何根據匹配的使用者名稱在SQL表之間有效率地複製資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!