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

คำสั่ง DELETE ใน SQL Server

คำสั่ง DELETE

ใช้ลบแถวข้อมูลจากตาราง

รูปแบบคำสั่ง

พื้นฐาน

DELETE FROM table_name
[WHERE condition];

เต็มรูปแบบ (รองรับ TOP/PERCENT)

DELETE [TOP (n) [PERCENT]]
FROM table_name
[WHERE condition];

ตัวอย่าง

1. ลบด้วยเงื่อนไขเดียว

DELETE FROM nhanvien
WHERE ten = 'Sarah';

2. ลบด้วยหลายเงื่อนไข (AND)

DELETE FROM nhanvien
WHERE ho = 'Johnson'
  AND nhanvien_id >= 80;

3. ลบจำกัดจำนวนด้วย TOP

DELETE TOP (3)
FROM nhanvien
WHERE ho = 'Johnson';

ลบแค่ 3 แถวแรกที่ match เงื่อนไข

4. ลบด้วย EXISTS (อ้างอิงตารางอื่น)

DELETE FROM nhanvien
WHERE EXISTS (
    SELECT *
    FROM danhba
    WHERE danhba.danhba_id = nhanvien.nhanvien_id
      AND danhba.danhba_id < 100
);

เคล็ดลับ: รัน SELECT COUNT(*) ด้วยเงื่อนไขเดียวกันก่อน DELETE เพื่อทราบจำนวนแถวที่จะถูกลบ

หมายเหตุ: DELETE ลบแถว ทรานแซกชัน rollback ได้ ใช้ WHERE ข้ามได้ ทำ trigger AFTER DELETE