Skip to main content

เทคนิคการ Join Tables เพื่อ Update ข้อมูล SQL ทั้ง MySQL/SQL Server

· One min read
Kongvut Sangkla

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 เข้าไป โดยวิธีนี้ผมใช้เป็นประจำ
Loading...