منشور

سلسلة دروس 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 بواسطة المؤلف.