คำสั่ง 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