التأكد من خُلوّ القيمة IS NULL في SQL

من موسوعة حسوب
< SQL
مراجعة 15:39، 28 يناير 2018 بواسطة عبد اللطيف ايمش (نقاش | مساهمات) (استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}')
(فرق) → مراجعة أقدم | المراجعة الحالية (فرق) | مراجعة أحدث ← (فرق)

يستخدم التعبير IS NULL للتأكد من خلو القيمة (أي لا توجد قيمة في الحقل المحدد)، ويكون سياق التعبير بالشكل الآتي:

column IS [NOT] NULL

وغالبًا ما تستخدم في العبارة WHERE للتحقق من وجود القيمة في إحدى حقول السجلات.

مثال

إن كانت قاعدة البيانات تحتوي الجدول customers الآتي:

Bill OrderID Phone FullName CustomerID
160 0291 NULL Abd al-Salam Hadi 1156
170 0302 (171) 555-2222 Ahmad Mostafa 1157
210 0203 (100) 555-4822 Reem Hammad 1158
350 0294 NULL Abd Allah Sadiq 1159
185 0255 (03) 3555-5011 Raghad al-Hamdan 1160
165 0276 (98) 598 76 54 Abd al-Razzaq Salloum 1161
175 0247 NULL Hussam Siraj 1162
180 0208 NULL Hiba Maktabi 1163
170 0219 (06) 431-7877 Abd al-Rahman Rida 1164
220 0210 NULL Abd al-Qader Khalil 1165

إن الاستعلام الآتي:

SELECT *
FROM customers
WHERE Phone IS NULL;

سيُظهر السجلات التي لا تحتوي على أي قيمة في حقل Phone على النحو الآتي:

Bill OrderID Phone FullName CustomerID
160 0291 NULL Abd al-Salam Hadi 1156
350 0294 NULL Abd Allah Sadiq 1159
175 0247 NULL Hussam Siraj 1162
180 0208 NULL Hiba Maktabi 1163
220 0210 NULL Abd al-Qader Khalil 1165

أما لعرض الزبائن الذي زوّدوا قاعدة البيانات برقم الهاتف، يستخدم الاستعلام الآتي:

SELECT * 
FROM customers
WHERE Phone IS NOT NULL;

لتظهر النتائج:

Bill OrderID Phone FullName CustomerID
170 0302 (171) 555-2222 Ahmad Mostafa 1157
210 0203 (100) 555-4822 Reem Hammad 1158
185 0255 (03) 3555-5011 Raghad al-Hamdan 1160
165 0276 (98) 598 76 54 Abd al-Razzaq Salloum 1161
170 0219 (06) 431-7877 Abd al-Rahman Rida 1164

التوافقية

SQLServer SQLite Oracle PostgreSQL MySQL
نعم نعم نعم نعم نعم

مصادر