เทคนิคการ Join Tables เพื่อ Update ข้อมูล SQL ทั้ง MySQL/SQL Server
· One min read
Table of contents
Intro
สวัสดีครับ บทความนี้จะแนะนำการใช้งานเทคนิคการ Join Tables เพื่อ Update ข้อมูล SQL ทั้ง MySQL/MariaDB และ SQL Server โดยเป็นเทคนิคที่ผมเองใช้บ่อยก็เลยอยากบันทึกไว้สักหน่อย สำหรับใครที่รู้อยู่แล้ว ผ่านได้เลยนะครับ 😄
MySQL/MariaDB
MySQL/MariaDB
UPDATE users AS a
LEFT JOIN profiles AS b
ON a.id = b.user_id
SET a.fullname = CONCAT(b.firstname, ' ', b.lastname)
WHERE b.department_id IN (101, 102)
SQL Server
SQL Server
UPDATE a
SET a.fullname = CONCAT(b.firstname, ' ', b.lastname)
FROM users AS a
LEFT JOIN profiles AS b
ON a.id = b.user_id
WHERE b.department_id IN (101, 102)
ข้อควรระวัง
- สำรองข้อมูล Tables ไว้ก่อนก็ดี
- กำหนดเงื่อนไข Where ให้ถูกต้อง เพราะจะผิดพลาดอย่างมากหาก Update ข้อมูลแล้วกำหนดเงื่อนไข Where ไม่ถูกต้อง
- อาจจะเขียน Join เพื่อ Select ออกมาดูหน้าตาของข้อมูลก่อนก็ได้ เพื่อให้มั่นใจว่าเราจะทำการ Update ข้อมูลชุดนี้ จากนั้นค่อยเพิ่มคำสั่ง Update เข้าไป โดยวิธีนี้ผมใช้เป็นประจำ