تمثل NULL غياب قيمة معروفة في عمود ما. وهي ليست العدد صفرًا ولا نصًا فارغًا، لذلك لا ينبغي التعامل معها بوصفها قيمة عادية. للبحث عن الصفوف التي لا تحتوي على قيمة في عمود محدد، نستخدم IS NULL داخل WHERE. وللبحث عن الصفوف التي تحتوي على قيمة، نستخدم IS NOT NULL.
هذا التمييز مهم عند تخزين معلومات اختيارية، مثل موعد إنهاء مهمة لم تُنجز بعد. قد يكون عمود الموعد من النوع DATE ويقبل NULL إلى أن يُعرف التاريخ. البحث باستخدام IS NULL يعيد هذه المهام تحديدًا، دون افتراض تاريخ خاص يدل على عدم الإنجاز. كما أن مقارنة العمود بتاريخ محدد تجيب عن سؤال مختلف، ولا تكشف جميع الحالات التي يغيب فيها التاريخ.
مثال
CREATE TABLE tasks_null_example (id INT, finished_on DATE);
INSERT INTO tasks_null_example VALUES (1, NULL), (2, '2026-09-15');
SELECT id FROM tasks_null_example WHERE finished_on IS NULL;
باختصار: استخدم IS NULL لاكتشاف غياب القيمة، وIS NOT NULL لاكتشاف وجودها.
هل تريد تعلّم SQL خطوة بخطوة مع تمارين عملية؟ تابع مسار SQL من الأساسيات للاحتراف.