در مقاله " SQL برای مبتدیان - بیانیه های DML "، ما یاد گرفتیم که یک رکورد را با کمک دستور INSERT SQL در جدول قرار دهیم. حال، فرض کنید که ما از مقدار خاصی که قرار است درج شود، آگاه نیستیم. خب ما باید چی کار کنیم؟
یک فضای خالی درج کنید
نه، یک فضای خالی نیز یک حافظه را مصرف می کند.
از مقادیر NULL استفاده کنید.
یک مقدار Null مقداری را نشان می دهد که در دسترس نیست (مقادیر از دست رفته). مقادیر تهی برابر با صفر نیستند. آنها با فضای خالی نیز برابر نیستند. Null Values به سادگی به معنای مقادیر از دست رفته است.
جدول Student را در نظر بگیرید که شامل StudentID، StudentName، City و علامت ها است. فرض کنید که شهر دانش آموز خاصی را نمی شناسیم. سپس اگر کوئری زیر را بنویسیم در جایی که قرار بود City درج شود
یک فضای خالی درج می شود.
درج مقادیر Students(1,'Raj','',45);
کوئری بالا یک فاصله و نه یک مقدار تهی درج می کند. سپس، چگونه می توان مقادیر تهی را در جدول وارد کرد.
درج مقادیر Students (2,'Sham','Mumbai',null);
در کوئری بالا می توانید کلمه کلیدی null را در محلی که قرار است علامت ها درج شود مشاهده کنید. این به این معنی است که برای Sham، فیلد علائم حاوی مقدار null خواهد بود.
حالا بیایید جدولی با مقادیر تهی ببینیم.
اکنون، همانطور که در جدول مشاهده می کنید، 4 مقدار NULL در این جدول وجود دارد.
اگر باید رکوردهایی را که ارزش علامتها تهی است بازیابی کنیم، این کار را میتوان با کمک کوئری زیر انجام داد:
![](https://n7b3p4s2.stackpathcdn.com/UploadFile/1b3a60/sql-for-beginners-null-values/Images/null1.jpg)
یکی از موارد مهمی که در جستار بالا باید به آن توجه کرد عبارت Where است. در عبارت Where معمولاً از عملگر 'برابر' برای مقایسه با هر مقداری استفاده می کنیم. اما، مقادیر تهی را نمی توان با هیچ عملگر مقایسه کرد. برای بررسی اینکه کدام رکوردها در جدول Students دارای علامت تهی هستند، از "null" استفاده می کنیم.
حال اگر بخواهیم هنگام بازیابی داده ها مقداری به جای مقادیر NULL نمایش دهیم، می توانیم از تابع ISNULL() استفاده کنیم.