Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> SQL Server

คำสั่ง UPDATE ใน SQL Server

คำสั่ง 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 อ่านง่าย ประสิทธิภาพดีกว่า และรองรับหลายคอลัมน์ได้สะดวก