Với phât biểu SQL dạng DELETE thì đơn giản hơn. Khi thực hiện lệnh xoâ mẩu tin trong bảng chúng ta chỉ cần quan tđm đến tín bảng, vă mệnh đề WHERE để xoâ với những mẩu tin đê chọn lọc nếu có. Cú phâp của Delete:
Delete from <table name> Where <condition>
Với mệnh đề WHERE giống như bất kỳ mệnh đề WHERE năo trong phât biểu SELECT hay
UPDATE vă INSERT của bất kỳ ứng dụng cơ sở dữ liệu năo có sử dụng SQL.
Conditions có thể lă phĩp toân giữa câc cột vă giâ trị, nhưng cũng có thể giâ trị lă kết quả trả về từ một phât biểu SELECT khâc.
Ghi chú: Không có khâi niệm xóa giâ trị trong một cột, vì xóa giâ trị một cột đồng nghĩa với cập nhật cột đó bằng giâ trị rỗng.
Ví dụ 8-19: Xóa mẩu tin với phât biểu SQL dạng DELETE
/* Xoâ mẩu tin từ bảng với điều kiện */
Delete from tblCustomers Where CustName is null
Trong trường hợp có răng buộc về quan hệ của dữ liệu, thì xóa mẩu tin phải tuđn thủ theo quy tắc: Xoâ mẩu tin con trước rồi mới xoâ mẩu tin cha.
Chẳng hạn, trong trường hợp ta có 2 bảng: hợp đồng bân hăng (tblOrders) vă hợp đồng bân hăng chi tiết (tblOrderDetails).
Để xoâ một hợp đồng bạn cần xóa mẩu tin trong bảng tblOrders trước rồi mới đến câc mẩu tin trong bảng tblOrderDetails.
Ví dụ 8-20: Xoâ mẩu tin với Delete
/* Xoâ mẩu tin từ bảng con */
Delete from tblOrderDetails where OrderID=123
/* Xoâ mẩu tin từ bảng cha */
Delete from tblOrders where OrderID=123
Bạn có thể thực hiện một phât biểu SQL dạng DELETE với điều kiện trong mệnh đề WHERE
lấy giâ trị trả về từ phât biểu SELECT từ bảng khâc, khai bâo như vậy chỉ có hiệu lực trong cơ sở dữ liệu MySQL phiín bản 8.1 trở về sau hay trong cơ sở dữ liệu SQL Server vă Oracle.
Ví dụ 8-21: Xoâ mẩu tin theo quy tắc có răng buộc quan hệ
/* Xoâ mẩu tin từ bảng với điều kiện lấy giâ trị từ bảng khâc */
Delete from tblOrderDetails where ItemID in
(select ItemID from tblItems
where ItemName like 'IT%')