🗄️ شرح SQL وقواعد البيانات

الشروط داخل الاستعلام: CASE

ما هو CASE؟

CASE يضيف منطق if/else داخل الاستعلام لإرجاع قيمة حسب شرط.

الصيغة الأساسية

SELECT
  name,
  CASE
    WHEN age < 18 THEN 'قاصر'
    WHEN age < 60 THEN 'بالغ'
    ELSE 'كبير السن'
  END AS category
FROM users;

CASE في الترتيب

SELECT * FROM tasks
ORDER BY
  CASE priority
    WHEN 'high' THEN 1
    WHEN 'medium' THEN 2
    ELSE 3
  END;

CASE مع التجميع

عدّ مشروط لكل حالة:

SELECT
  SUM(CASE WHEN status = 'paid' THEN 1 ELSE 0 END) AS paid,
  SUM(CASE WHEN status = 'pending' THEN 1 ELSE 0 END) AS pending
FROM orders;

دوال مختصرة

-- بديل سريع لشرط واحد
SELECT IF(age >= 18, 'بالغ', 'قاصر') FROM users;   -- MySQL

💡 CASE هو الطريقة القياسية المدعومة في كل قواعد البيانات، بخلاف IF.

🎯 التالي: العروض (Views).