شرح صفوف ومحتوى الفقرة
عندما تحتاج إلى حذف سجلات من جدول بناءً على خصائص أو حالات مخزنة في جدول آخر مرتبط به، يوفّر MySQL صيغة الحذف المترابط DELETE ... JOIN:
- تحديد الاسم المستعار بعد
DELETE: اكتب دائماً الاسم المستعار للجدول المراد الحذف منه بين كلمتيDELETEوFROMمثل:DELETE o FROM orders AS o INNER JOIN users AS u ON .... - الحذف من جدول واحد أو جدولين: كتابة
DELETE oتحذف الصفوف المطابقة من جدول الطلبات فقط دون المساس بجدول المستخدمين، بينما كتابةDELETE o, oiتحذف السجلات المطابقة من الجدولين معاً.
SQL
-- Delete unpaid draft orders belonging to banned accounts
DELETE o
FROM orders AS o
INNER JOIN users AS u
ON o.user_id = u.user_id
WHERE u.account_status = 'banned'
AND o.status = 'draft';