คำสั่ง UPDATE
ใช้แก้ไขข้อมูลแถวที่มีอยู่ในตาราง มี 3 รูปแบบขึ้นอยู่กับแหล่งข้อมูลใหม่
1. UPDATE แบบธรรมดา (กำหนดค่าคงที่)
UPDATE table_name
SET col1 = expr1,
col2 = expr2,
...
[WHERE condition];
2. UPDATE ด้วย Subquery (ค่าจากตารางอื่น)
UPDATE table1
SET col1 = (SELECT expr1 FROM table2 WHERE condition)
[WHERE condition];
3. UPDATE ด้วย JOIN (มาตรฐาน SQL Server - ประสิทธิภาพดีกว่า)
UPDATE table1
SET table1.col = table2.expr1
FROM table1
INNER JOIN table2 ON (table1.col1 = table2.col1)
[WHERE condition];
ตัวอย่าง
อัปเดต 1 คอลัมน์
UPDATE nhanvien
SET ho = 'Johnson'
WHERE nhanvien_id = 10;
อัปเดตหลายคอลัมน์
UPDATE nhanvien
SET ten = 'Kyle',
nhanvien_id = 14
WHERE ho = 'Johnson';
อัปเดตจากตารางอื่น (Subquery)
UPDATE nhanvien
SET ten = (SELECT ten FROM danhba WHERE danhba.ho = nhanvien.ho)
WHERE nhanvien_id > 95;
อัปเดตจากตารางอื่น (JOIN - แนะนำ)
UPDATE nhanvien
SET nhanvien.ten = danhba.ten
FROM nhanvien
INNER JOIN danhba ON (nhanvien.ho = danhba.ho)
WHERE nhanvien.nhanvien_id > 95;
คำแนะนำ: รูปแบบ JOIN อ่านง่าย ประสิทธิภาพดีกว่า และรองรับหลายคอลัมน์ได้สะดวก