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

Updating Columns via UPDATE JOIN تحديث جدول بربطه بآخر

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

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

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

يدعم MySQL صياغة قوية للتحديث متعدد الجداول UPDATE ... JOIN تتيح لك تعديل أعمدة جدول (أو حتى الجدولين المرتبطين معاً في نفس اللحظة) اعتماداً على قيم أو شروط موجودة في جدول آخر:

  • ترتيب الجمل الخاص بـ MySQL: تُكتب جملة INNER JOIN أو LEFT JOIN مباشرةً بعد اسم الجدول في جملة UPDATE، أي قبل كلمة SET على النحو: UPDATE t1 INNER JOIN t2 ON ... SET t1.col = ....
  • الحسابات العابرة للجداول: يمكنك إسناد قيمة عمود من الجدول الثاني مباشرة إلى عمود في الجدول الأول مثل SET p.unit_price = s.promo_price.
SQL
-- Apply supplier discount rates to matching products via UPDATE JOIN
UPDATE products AS p
INNER JOIN suppliers AS s
  ON p.supplier_id = s.supplier_id
SET p.unit_price = ROUND(p.unit_price * (1 - s.discount_rate), 2)
WHERE s.is_preferred = 1
  AND p.is_active = 1;