8.1 SQL - CASE

تعبير SQL CASE

تعبير CASE بيشتغل زي جملة if - then - else في لغات البرمجة، وبيستخدم علشان ترجع قيمة معينة بناءً على شروط.

  • بيفحص الشروط واحدة ورا التانية.
  • أول شرط يتحقق ➜ بيرجع النتيجة المرتبطة بيه.
  • بيتوقف أول ما يلاقي شرط صحيح.
  • لو مفيش شرط تحقق ➜ بيرجع القيمة اللي بعد ELSE.
  • ولو مفيش ELSE ➜ النتيجة بتكون NULL.


✅ الصيغة العامة:

CASE
  WHEN condition1 THEN result1
  WHEN condition2 THEN result2
  ...
  ELSE resultN
END


🧪 قاعدة البيانات التجريبية (OrderDetails)

OrderDetailIDOrderIDProductIDQuantity
1102481112
2102484210
310248725
410249149
5102495140


✅ مثال 1: وصف الكمية حسب قيمتها:

SELECT OrderID, Quantity,
  CASE
    WHEN Quantity > 30 THEN 'The quantity is greater than 30'
    WHEN Quantity = 30 THEN 'The quantity is 30'
    ELSE 'The quantity is under 30'
  END AS QuantityText
FROM OrderDetails;

⬅ الكود ده بيضيف عمود جديد فيه وصف للكمية.



✅ مثال 2: استخدام CASE داخل ORDER BY

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
CASE
WHEN City IS NULL THEN Country
ELSE City
END;

⬅ بيتم الترتيب حسب City وإذا كانت NULL يتم استخدام Country.



💡 ملاحظات:

  • تقدر تستخدم CASE في أي مكان في الاستعلام: SELECT، WHERE، ORDER BY، إلخ.
  • CASE بيرجع أول نتيجة يتحقق شرطها فقط.
  • ينفع تستخدمه مع نصوص أو أرقام أو تواريخ.

تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

1.1 SQL Introduction

Entity Framework - مقدمة عن Entity Framework