شرح صفوف ومحتوى الفقرة
تمثّل القيمة NULL في قواعد البيانات غياب البيان أو عدم معرفته، وهي تختلف كلياً عن الرقم صفر 0 أو النص الفارغ ''. ولأن معامل التساوي العادي يفشل مع NULL، يوفر SQL معاملين مخصصين لفحصها.
- المعامل
IS NULL: يُعيد1عندما يكون العمود خالياً من أي قيمةNULL. - المعامل
IS NOT NULL: يُعيد1عندما يحتوي العمود على قيمة فعلية مسجلة (بما في ذلك الصفر أو السلسلة النصية الفارغة).
يدرج محرك InnoDB مفاتيح NULL داخل فهارس B-Tree، مما يسمح للشرط WHERE col IS NULL باستخدام الفهرس بسرعة عالية.
فحص القيم الفارغة بـ IS NULL والترتيب بـ ORDER BY وتقسيم الصفحات
مسار التنفيذ: FROM ثم التصفية بـ WHERE ثم SELECT ثم الفرز بـ ORDER BY وأخيراً LIMIT و OFFSET
SQL
-- Find unshipped orders vs completed shipments
SELECT order_id, customer_id, shipped_at
FROM orders
WHERE shipped_at IS NULL;
SELECT order_id, tracking_no, shipped_at
FROM orders
WHERE shipped_at IS NOT NULL;