فهم بنية تعبير SQL Case
: دليل كامل
عند العمل مع قواعد بيانات SQL، هناك ميزة أساسية يمكن أن تعزز بشكل كبير قدراتك في معالجة البيانات، وهي تعبير CASE
. هذه البنية القوية تتيح لك تضمين المنطق الشرطي مباشرة في عبارات SQL الخاصة بك، مشابهًا للمنطق IF-THEN-ELSE الموجود في لغات البرمجة. تتناول هذه التدوينة البنية الكاملة والصحيحة لتعبير SQL CASE
عبر محركات قواعد البيانات المختلفة، مع التركيز على SQL Server.
ما هو تعبير SQL CASE
؟
تعبير CASE
يعمل كعبارة شرطية تقوم بتقييم قائمة من الشروط وتعيد قيمة بناءً على أول شرط يتم تقييمه على أنه TRUE. يشمل الاستخدامات الأساسية لتعبير CASE
:
- إعادة قيم محددة بناءً على تقييم أعمدة أخرى.
- تسهيل الاستعلامات المعقدة عن طريق استبدال عدة عبارات IF ببنية أنظف وأكثر قراءة.
فهم كيفية هيكلة تعبير CASE
بشكل صحيح يمكن أن يمنع الأخطاء ويجعل استعلامات SQL الخاصة بك أكثر كفاءة وسهولة في الصيانة.
بنية تعبير CASE
في SQL Server
تختلف بنية تعبير CASE
قليلاً حسب محرك قاعدة البيانات المستخدم. هنا، نركز على البنية المطبقة على SQL Server. هناك شكلان رئيسيان من تعبير CASE
:
1. عبارة CASE
بسيطة
CASE case-expression
WHEN when-expression-1 THEN value-1
[ WHEN when-expression-n THEN value-n ... ]
[ ELSE else-value ]
END
- case-expression: هذه هي القيمة التي يتم تقييمها.
- when-expression: تمثل هذه الشروط المقارنة مع تعبير الحالة.
- value: الناتج عندما يتم الوفاء بشرط ما.
2. عبارة CASE
بحثية
CASE
WHEN boolean-when-expression-1 THEN value-1
[ WHEN boolean-when-expression-n THEN value-n ... ]
[ ELSE else-value ]
END
- boolean-when-expression: يتم تقييمه إلى TRUE أو FALSE ويقيم الشروط التي تحددها.
- value: مشابه للبنية السابقة، يمثل الناتج المرتجع إذا كان الشرط TRUE.
العناصر الهامة في تعبير CASE
فهم مكونات تعبير CASE
أمر بالغ الأهمية للتطبيق الفعال. إليك تفصيل:
- case-expression: قيمة تنتج ناتجًا، على سبيل المثال، عمود في جدول.
- when-expression: تتم مقارنتها مع عبارة الحالة؛ يمكن أن تتضمن مقارنات مباشرة أو منطق بوليني.
- value-x: الناتج الذي يتم إرجاعه بواسطة عبارة
CASE
عندما يكون الشرط صحيحًا. - ELSE value: اختياري. يحدد ما يجب إرجاعه إذا لم يتم تلبية أي شرط
WHEN
. إذا تم إغفاله، سيكون الناتج الافتراضي هو NULL.
مثال على تعبير CASE
إليك مثال عملي عن كيفية استخدام تعبير CASE
لتصنيف البيانات في استعلام SQL:
SELECT name,
CASE grade
WHEN 'A' THEN 'ممتاز'
WHEN 'B' THEN 'جيد'
WHEN 'C' THEN 'متوسط'
ELSE 'ضعيف'
END AS performance
FROM students;
في هذا الاستعلام، يتم تصنيف الطلاب بناءً على درجاتهم، مما يوفر تسمية أكثر معنى من مجرد الدرجة الحرفية.
اعتبارات هامة
- ترتيب الشروط مهم: ترتيب عبارات
WHEN
حساس. إذا تطابقت عدة شروط، سيتم استخدام أول شرط مطابق. - عدم وجود شرط مطابق: إذا لم يتم توفير عبارة
ELSE
ولم يتم تلبية أي من شروطWHEN
، فسيكون الناتج هو NULL، مما يمكن أن يؤثر على العمليات اللاحقة إذا لم يتم التعامل معه بشكل صحيح.
لمزيد من المعلومات حول تعبير CASE
في SQL Server، يمكنك الرجوع إلى الوثائق الرسمية هنا.
الخاتمة
تعبير SQL CASE
هو أداة قوية تعزز استعلامات SQL الخاصة بك من خلال السماح بالمنطق الشرطي لإنتاج النتائج بسلاسة. من خلال إتقان بنيته وفهم كيفية تطبيقه، ستكون قادرًا على كتابة استعلامات SQL أنظف وأكثر كفاءة يمكنها التعامل مع مجموعة متنوعة من السيناريوهات. تدرب على استخدامه في مهام SQL اليومية لديك لترى الفرق الذي يمكن أن يحدثه!