سلسلة دروس SQL| عبارة CASE
هذه المقالة جزء من سلسلة دروس SQL، يمكنك الاطلاع على الفهرس
عبارة CASE في SQL
تمر عبارة CASE بشروط وتعيد قيمة عند استيفاء الشرط الأول (مثل عبارة IF-THEN-ELSE). لذلك، بمجرد أن يصبح الشرط صحيحًا، سيتوقف عن القراءة ويعيد النتيجة. إذا لم تكن هناك شروط صحيحة، فإنها تُرجع القيمة في بند ELSE.
إذا لم يكن هناك جزء ELSE ولا توجد شروط صحيحة، فإنها ترجع NULL.
بناء جملة CASE
1
2
3
4
5
6
7
8
9
10
11
12
13
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN conditionN THEN resultN
ELSE result
END;
استعراض قاعدة البيانات
فيما يلي تحديد من جدول “تفاصيل الطلب” في قاعدة البيانات النموذجية Northwind:
OrderDetailID | OrderID | ProductID | Quantity |
---|---|---|---|
1 | 10248 | 11 | 12 |
2 | 10248 | 42 | 10 |
3 | 10248 | 72 | 5 |
4 | 10249 | 14 | 9 |
5 | 10249 | 51 | 40 |
أمثلة عن CASE في SQL
نلاحظ هنا أنه يتم التحقق من الشروط و أنه عند تحقق الشرط الأول يتم ارجاع القيمة:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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;
ستطلب عبارة SQL التالية العملاء حسب المدينة فإذا كانت المدينة فارغة فسيكون الطلب حسب البلد:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
WHEN City IS NULL THEN Country
ELSE City
END);
التالي: دالات Null
هذا المنشور تحت ترخيص
CC BY 4.0
بواسطة المؤلف.