NULL — verilənlər bazasında bir dəyərin mövcud olmadığını və ya təyin edilmədiyini göstərən xüsusi bir dəyərdir. NULL
boşluq və ya sıfır kimi qəbul edilmir; əksinə, dəyərin "bilinməz" olduğunu və ya mövcud olmadığını bildirir.[1][2]
NULL = NULL
şərti doğru deyil. NULL-lar bilinməz dəyərlər olduğundan, iki bilinməz dəyərin eyni olub-olmadığını müqayisə etmək mənasızdır.5 + NULL
və ya NULL AND TRUE
kimi ifadələr NULL qaytaracaq.IS NULL
və IS NOT NULL
ifadələrindən istifadə olunur.[3]Məsələn:
SELECT * FROM users WHERE phone IS NULL;
'Fish ' || NULL || 'Chips' -- Result is NULL
Bu sorğu telefon nömrəsi olmayan istifadəçiləri qaytaracaq.[4]
5. NULL dəyərlərin funksiyalarla istifadəsi — bir çox SQL funksiyası NULL dəyərlərlə işləyəndə NULL qaytarır, lakin `COALESCE` kimi xüsusi funksiyalar NULL dəyəri başqa bir dəyərlə əvəz etmək üçün istifadə edilə bilər.[5]
Məsələn:
SELECT COALESCE(phone, 'No phone number') FROM users;
Bu sorğu, NULL olan telefon nömrələrini "No phone number" mətnilə əvəz edəcək.[6]
SQL üç məntiqi nəticəni həyata keçirir, buna görə də SQL tətbiqləri ixtisaslaşmış üç dəyərli məntiqi (3VL) təmin etməlidir. SQL-in üç dəyərli məntiqini idarə edən qaydalar aşağıdakı cədvəllərdə göstərilmişdir (p və q məntiqi vəziyyətləri təmsil edir)." SQL-in AND, OR və NOT üçün istifadə etdiyi həqiqət cədvəlləri Klin və Lukaseviçin üç dəyərli məntiqinin ümumi fraqmentinə uyğun gəlir.[7]
p | q | p OR q | p AND q | p = q |
---|---|---|---|---|
True | True | True | True | True |
True | False | True | False | False |
True | Bilinmir | True | Bilinmir | Bilinmir |
False | True | True | False | False |
False | False | False | False | True |
False | Bilinmir | Bilinmir | False | Bilinmir |
Bilinmir | True | True | Bilinmir | Bilinmir |
Bilinmir | False | Bilinmir | False | Bilinmir |
Bilinmir | Bilinmir | Bilinmir | Bilinmir | Bilinmir |
p | NOT p |
---|---|
True | False |
False | True |
Bilinmir | Bilinmir |
SQL-də NULL, məlumatların olmadığını bildirir və onunla işləyərkən xüsusi qaydalar tətbiq olunur.