Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

دالة COALESCE للتعامل مع قيم NULL

جزء من قسم ما وراء الأساسيات في رحلة SQL على Coddy. الدرس 3 من 27.

تعيد COALESCE الوسيطة الأولى التي ليست NULL:

COALESCE(nickname, first_name, 'Anonymous')

يُقرأ من اليسار إلى اليمين ويتوقف عند أول قيمة غير فارغة. إنها الطريقة الأنظف لتوفير قيمة احتياطية في استعلام، دون الحاجة إلى CASE.

الاستخدامات الشائعة:

  • عرض 0 بدلًا من NULL من LEFT JOIN: COALESCE(SUM(amount), 0)
  • اختيار أول حقل اختياري غير فارغ: COALESCE(mobile, home, work)
challenge icon

التحدي

سهل

الجداول والأعمدة المتاحة:

  • users: id، display_name، email
  • orders: user_id، amount

أعد صفًا واحدًا لكل مستخدم يتضمن:

  • id
  • label: قيمة display_name إذا كانت معيّنة، وإلا فقيمة email، وإلا فقيمة 'unknown'
  • total_spent: مجموع قيم amount لطلبات المستخدم؛ ويجب أن يعرض المستخدمون الذين ليس لديهم طلبات القيمة 0 (وليس NULL)

رتّب حسب id. تلميح: ي处理 LEFT JOIN من users إلى orders بالإضافة إلى COALESCE(SUM(...), 0) الصفوف المفقودة.

REQUIRED OUTPUT FORMAT: [Your translated content here]

جرّب بنفسك

SELECT u.id,
       -- label عبر COALESCE
       -- total_spent عبر COALESCE(SUM(...), 0)
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id
ORDER BY u.id
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس ما وراء الأساسيات

تدرّب بنفسك: Playground لـ SQL