ما الفرق بين CASE البسيطة وCASE ذات الشروط في SQL؟

متوسطقراءة دقيقةآخر تحديث 3 أكتوبر 2026

SQL قواعد البيانات

الإجابة

توجد صيغتان شائعتان لتعبير CASE. في الصيغة البسيطة، تكتب قيمة بعد الكلمة مباشرة، ثم تسرد قيمًا تقارن بها داخل فروع WHEN. تناسب هذه الصيغة تحويل رموز الحالة إلى أسماء واضحة، مثل تحويل رمز طلب مختصر إلى وصف مفهوم. المقارنة هنا تكون بين قيمة التعبير والقيمة الموجودة في كل فرع.

أما الصيغة ذات الشروط، فتبدأ بكتابة CASE WHEN دون قيمة فاصلة بين الكلمتين. يحتوي كل فرع فيها على شرط مستقل، مما يسمح باستخدام نطاقات عددية أو أكثر من عمود. الخلط بين الصيغتين قد ينتج استعلامًا صالحًا نحويًا لكنه يقارن القيم بشيء مختلف عما تقصده.

مثال

SELECT CASE 'P'
  WHEN 'P' THEN 'Pending'
  WHEN 'D' THEN 'Done'
  ELSE 'Unknown'
END AS label;

يستخدم المثال الصيغة البسيطة لأن المطلوب مطابقة رمز بقيم محددة، وليس اختبار حدود أو شروط مركبة.

باختصار: استخدم الصيغة البسيطة لمطابقة قيمة، والصيغة ذات الشروط عندما يحتاج كل فرع إلى اختبار منطقي مستقل.

هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.

اختبر فهمك

ما الفرق الصحيح بين CASE status WHEN ‘P’ … وCASE WHEN score >= 90 …؟