شرح القيم NULL في SQL

شرح القيم NULL في SQL

شرح القيم NULL في لغة SQL

القيمة NULL تمثل حقلًا بدون قيمة في قاعدة البيانات. فهم كيفية التعامل مع هذه القيم أمر أساسي للعمل مع قواعد البيانات.

ما هي القيمة NULL؟

الحقل ذو القيمة NULL هو حقل بدون أي قيمة. إذا كان الحقل في الجدول اختياريًا، فمن الممكن إدراج سجل جديد أو تحديث سجل دون إضافة قيمة إلى هذا الحقل. في هذه الحالة، سيتم حفظ الحقل بقيمة NULL.

ملاحظة مهمة: تختلف القيمة NULL عن القيمة الصفرية أو الحقل الذي يحتوي على مسافات. الحقل ذو القيمة NULL هو حقل تم تركه فارغًا أثناء إنشاء السجل!

كيفية اختبار القيم NULL

لا يمكن اختبار القيم NULL باستخدام عوامل المقارنة المعتادة مثل = أو < أو <>. بدلاً من ذلك، يجب استخدام العوامل IS NULL و IS NOT NULL.

-- صيغة IS 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).

مثال:

SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NULL;

عامل التشغيل IS NOT NULL

يستخدم عامل التشغيل IS NOT NULL للبحث عن القيم غير الفارغة (قيم غير NULL).

SELECT CustomerName, ContactName, Address
FROM Customers
WHERE Address IS NOT NULL;

الدوال للتعامل مع NULL

  • ISNULL(expr, value): تعيد قيمة بديلة إذا كان العمود NULL (في SQL Server).
  • IFNULL(expr, value): تعيد قيمة بديلة إذا كان العمود NULL (في MySQL).
  • COALESCE(expr1, expr2, ...): تعيد أول قيمة غير NULL من القائمة.
SELECT CustomerName, ISNULL(Address, 'غير متوفر') AS Address
FROM Customers;

تحذيرات مهمة

1. لا يمكن استخدام عوامل المقارنة العادية (=, <, >, <>) مع قيم NULL.

2. NULL != NULL في SQL (لاختبار المساواة بين قيم NULL، استخدم IS NULL).

3. العمليات الحسابية مع NULL تعطي نتيجة NULL.

4. الدوال المجمعة مثل COUNT() تتجاهل قيم NULL تلقائيًا.

تمرين

ما هي القيمة NULL في SQL؟

  • حقل بدون قيمة ✅
  • حقل بقيمة صفر
  • حقل يحتوي على مسافات
  • حقل تم حذفه
#SQL #قواعد_البيانات #NULL_Values #قيم_فارغة #IS_NULL #IS_NOT_NULL #COALESCE #ISNULL #IFNULL #استعلامات #تعلم_SQL

تعليقات