مدیریت مقادیر NULL در طول تجزیه و تحلیل داده ها ضروری است. با نحوه شمارش مقادیر خالی و غیر خالی در یک ستون آشنا شوید.
کار با مقادیر NULL در SQL یک چالش رایج است که هر تحلیلگر داده و متخصص پایگاه داده با آن مواجه است. این خاص است زیرا پرداختن به NULL می تواند طاقت فرسا و گیج کننده باشد و منجر به ناامیدی در طول تجزیه و تحلیل داده ها شود.
با این حال، درک این مقادیر NULL و معنای آنها برای داشتن بینش داده دقیق و جامع مهم است. این مقاله به بررسی دستورات SQL و نحوه استفاده از آنها برای شمارش مقادیر NULL و NOT NULL می پردازد.
مقدار SQL NULL چیست؟
مقدار NULL به معنای بدون مقدار است، نه صفر یا فاصله.
بنابراین عملگرهای مقایسه سنتی شما مانند =، <، >، و <> را نمی توان بر روی آن استفاده کرد. با این حال، در صورت استفاده، نتیجه ناشناخته خواهد بود.
مقدار NULL را به عنوان یک فیلد خالی در حین ایجاد رکورد در نظر بگیرید. شما می توانید یک جدول ایجاد کنید و یک ستون جدید را بدون اضافه کردن مقدار وارد کنید. بنابراین آن فیلد یک مقدار NULL خواهد بود. مقادیر NULL را نیز می توان در ستون های هر نوع داده ای درج کرد.
برای نشان دادن این موضوع، باید یک جدول SQL جدید با استفاده از نحو زیر ایجاد کنید:
CREATE TABLE Employee (
FirstName VARCHAR(50),
LastName VARCHAR(50),
PhoneNum VARCHAR(15),
Salary FLOAT
);
INSERT INTO Employee (FirstName, LastName, PhoneNum, Salary)
VALUES
('Maxwell', 'Ayomide', '812-345-6789', 150000.00),
('David', 'Tosin', NULL, 450000.00),
('Eben', 'Teniola', '912-345-6789', 590000.00),
('Kenneth', 'Olisa', '809-456-8732', NULL),
('Esther', 'Oge', NULL, NULL);
همچنین می توانید مقادیر NULL را در یک جدول با استفاده از دستور SQL برای مبتدیان، عبارت UPDATE به روز کنید. برای این کار از سینتکس زیر استفاده کنید.
UPDATE Employee
SET FirstName = 'Esther'
WHERE Salary = 200000;
برای مشاهده نتیجه، اجرا کنید:
SELECT * FROM Employee;
چه زمانی مقادیر SQL NULL مفید هستند؟
یک مقدار NULL را می توان در موقعیت های مختلف در SQL استفاده کرد:
- زمانی که داده ها در زمان ورود داده ها در دسترس یا ناشناخته باشند.
- زمانی که داده ها برای نهاد مورد نظر اعمال نمی شود. به عنوان مثال، در یک نظرسنجی، سؤالی که از شرکتکنندگان میخواهد در صورت داشتن فرزند، کادر را علامت بزنند، ممکن است مقادیر NULL داشته باشد.
SQL IS NULL شرط چیست؟
دستور SQL IS NULL یکی از دستورات مهم SQL است که هر برنامه نویسی باید بداند. این دستور برای آزمایش مقادیر NULL استفاده می شود و بهترین استفاده را هنگام جستجوی مقادیر NULL می کند. این دستور تمام ردیف های NULL در ستون مشخص شده در پرس و جو شما را برمی گرداند.
SELECT FirstName, LastName, PhoneNum
FROM Employee
WHERE PhoneNum IS NULL;
این کوئری تمام مقادیر NULL را در ستون PhoneNum برمی گرداند.
شرط SQL IS NOT NULL چیست؟
دستور SQL IS NOT NULL برعکس دستور SQL IS NULL است.
این دستور مقادیر غیر خالی (مقادیر NOT NULL) را آزمایش می کند. بنابراین، همیشه تمام سطرهای یک ستون را با یک مقدار برمی گرداند و تمام مقادیر NULL در ستون مشخص شده در پرس و جو شما را حذف می کند.
SELECT FirstName, LastName, PhoneNum
FROM Employee
WHERE PhoneNum IS NOT NULL;
این کوئری تمام مقادیر NOT NULL را در ستون PhoneNum برمی گرداند.
چگونه مقادیر SQL NULL را در یک ستون بشماریم؟
دستور COUNT() برای شمارش استفاده می شود. این دستوری است که هنگام تجزیه و تحلیل داده ها در جداول SQL و کار با زیرپرس و جوهای SQL و جداول موقت مفید است.
از این پرس و جو برای شمارش تعداد مقادیر NULL در ستون PhoneNum استفاده کنید.
SELECT COUNT(*) AS [Total Number of NULL]
FROM Employee
WHERE PhoneNum IS NULL
این باز خواهد گشت:
چگونه مقادیر NOT NULL را در یک ستون بشماریم؟
از دستور NOT NULL برای شمارش تعداد مقادیر غیر NULL در ستون PhoneNum استفاده کنید.
SELECT COUNT(PhoneNum) AS [Total Number of Non-NULL Values]
FROM Employee
WHERE PhoneNum IS NOT NULL
این باز خواهد گشت:
همچنین می توانید از این پرس و جو برای قرار دادن نتیجه در جدول استفاده کنید.
SELECT SUM(CASE WHEN PhoneNum is null THEN 1 ELSE 0 END)
AS [Number Of Null Values],
COUNT(PhoneNum) AS [Number Of Non-Null Values]
FROM Employee
در این پرس و جو، از دستورات CASE و IS NULL برای طبقه بندی NULL شما در ستون PhoneNum به عنوان 1 استفاده شد. این مقدار اضافه شد و در ستون های Number Of Null Values تازه تشکیل شده نگهداری شد.
مقادیر NULL را بشمارید و به تحلیل خود ادامه دهید
به همان اندازه که مقدار NULL می تواند بسیار زیاد باشد. آنها در واقع کار کردن با آنها ساده هستند. با استفاده از COUNT()، می توانید مقادیر NULL و غیر NULL خود را تنها با چند خط کد SQL بشمارید.
هنگامی که دستورات SQL خود را شناختید، می توانید آنها را در موارد استفاده مختلف اعمال کنید و داده های خود را بدون زحمت تجزیه و تحلیل کنید.