首頁 >資料庫 >mysql教程 >如何根據表 B 中匹配的使用者名稱更新表 A 列?

如何根據表 B 中匹配的使用者名稱更新表 A 列?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-15 07:40:46994瀏覽

How to Update Table A Columns Based on Matching Usernames in Table B?

根據表 B 中匹配的使用者名稱更新表 A

本指南示範如何使用 table_a 中的資料更新表 table_b 中的列,並根據常見的「user_name」列來匹配行。 目標是分別使用 column_a_1column_a_2table_a 的值填入 column_b_1 中的 column_b_2table_b,以符合使用者名稱。

SQL 解:

以下 SQL 語句有效地實現了此更新:

<code class="language-sql">UPDATE table_a
SET
    column_a_1 = (SELECT b.column_b_1 FROM table_b b WHERE b.user_name = table_a.user_name),
    column_a_2 = (SELECT b.column_b_2 FROM table_b b WHERE b.user_name = table_a.user_name)
WHERE
    EXISTS (SELECT 1 FROM table_b b WHERE b.user_name = table_a.user_name);</code>

此查詢使用子查詢從 table_b 中取得適當的值,並將它們套用到 table_a 中的對應行。 EXISTS 子句確保僅更新兩個表中具有符合使用者名稱的行,從而防止在 table_a 中存在使用者名稱但 table_b 中不存在使用者名稱時出現錯誤。 使用別名(例如 b 代表 table_b)可以提高可讀性。

以上是如何根據表 B 中匹配的使用者名稱更新表 A 列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn