شرح القيم NULL في لغة SQL
القيمة NULL تمثل حقلًا بدون قيمة في قاعدة البيانات. فهم كيفية التعامل مع هذه القيم أمر أساسي للعمل مع قواعد البيانات.
ما هي القيمة NULL؟
الحقل ذو القيمة NULL هو حقل بدون أي قيمة. إذا كان الحقل في الجدول اختياريًا، فمن الممكن إدراج سجل جديد أو تحديث سجل دون إضافة قيمة إلى هذا الحقل. في هذه الحالة، سيتم حفظ الحقل بقيمة NULL.
ملاحظة مهمة: تختلف القيمة NULL عن القيمة الصفرية أو الحقل الذي يحتوي على مسافات. الحقل ذو القيمة NULL هو حقل تم تركه فارغًا أثناء إنشاء السجل!
كيفية اختبار القيم NULL
لا يمكن اختبار القيم NULL باستخدام عوامل المقارنة المعتادة مثل = أو < أو <>. بدلاً من ذلك، يجب استخدام العوامل IS NULL و IS NOT NULL.
SELECT column_names
FROM table_name
WHERE column_name IS NULL;
-- صيغة IS NOT NULL
SELECT column_names
FROM table_name
WHERE column_name IS NOT NULL;
قاعدة بيانات مثال
لنفترض أن لدينا جدول "العملاء" التالي:
| CustomerID | CustomerName | ContactName | Address | City | PostalCode | Country |
|---|---|---|---|---|---|---|
| 1 | Alfreds Futterkiste | Maria Anders | Obere Str. 57 | Berlin | 12209 | Germany |
| 4 | Around the Horn | Thomas Hardy | NULL | London | WA1 1DP | UK |
عامل التشغيل IS NULL
يستخدم عامل التشغيل IS NULL للبحث عن القيم الفارغة (قيم NULL).
مثال:
FROM Customers
WHERE Address IS NULL;
عامل التشغيل IS NOT NULL
يستخدم عامل التشغيل IS NOT NULL للبحث عن القيم غير الفارغة (قيم غير NULL).
FROM Customers
WHERE Address IS NOT NULL;
الدوال للتعامل مع NULL
- ISNULL(expr, value): تعيد قيمة بديلة إذا كان العمود NULL (في SQL Server).
- IFNULL(expr, value): تعيد قيمة بديلة إذا كان العمود NULL (في MySQL).
- COALESCE(expr1, expr2, ...): تعيد أول قيمة غير NULL من القائمة.
FROM Customers;
تحذيرات مهمة
1. لا يمكن استخدام عوامل المقارنة العادية (=, <, >, <>) مع قيم NULL.
2. NULL != NULL في SQL (لاختبار المساواة بين قيم NULL، استخدم IS NULL).
3. العمليات الحسابية مع NULL تعطي نتيجة NULL.
4. الدوال المجمعة مثل COUNT() تتجاهل قيم NULL تلقائيًا.
تمرين
ما هي القيمة NULL في SQL؟
- حقل بدون قيمة ✅
- حقل بقيمة صفر
- حقل يحتوي على مسافات
- حقل تم حذفه
تعليقات
إرسال تعليق