انتقل إلى محتوى الدرس

Multi Table DELETE JOIN Syntax حذف السجلات بـ DELETE JOIN

تعلّم العمليات متعددة الجداول INSERT SELECT و UPDATE JOIN و DELETE JOIN في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
8 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

عندما تحتاج إلى حذف سجلات من جدول بناءً على خصائص أو حالات مخزنة في جدول آخر مرتبط به، يوفّر 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';