الدرس 23: التعامل مع قيم NULL و IS NULL
فهم NULL
NULL ليس مثل الصفر (0) أو السلسلة النصية الفارغة (''). يشير NULL إلى أن قيمة البيانات مفقودة أو غير معروفة.
- إذا لم يتم تعريف عمود على أنه
NOT NULL، فيمكن أن يحتوي على قيمNULL.
مشكلة المقارنة
لأن NULL تعني 'غير معروف'، فإن عوامل المقارنة القياسية (=, >) لا تعمل معها. إذا سألت عما إذا كانت NULL = NULL، فإن الإجابة غير معروفة، وبالتالي فإن النتيجة ليست صحيحة ولا خاطئة.
عوامل تشغيل خاصة لـ NULL
يجب أن نستخدم عوامل التشغيل الخاصة IS NULL أو IS NOT NULL في عبارة WHERE.
مثال 1: العثور على البيانات المفقودة
البحث عن جميع العملاء الذين لم يقدموا عنوان بريد إلكتروني.
sql SELECT CustomerName FROM Customers WHERE Email IS NULL;
مثال 2: العثور على البيانات المكتملة
البحث عن جميع المنتجات التي لها وصف غير فارغ (Non-null).
sql SELECT Name FROM Products WHERE Description IS NOT NULL;
التأثير على العمليات الحسابية
إذا أجريت عملية حسابية تتضمن قيمة NULL، فإن نتيجة العملية بأكملها تكون عادةً NULL. ولهذا السبب، يعد التعامل مع NULL بعناية أمرًا بالغ الأهمية عند حساب الإجماليات أو المتوسطات.