SQL NULL Value का मतलब होता है कि किसी column में कोई value मौजूद नहीं है। NULL का अर्थ zero, empty string या false नहीं होता, बल्कि इसका मतलब होता है unknown या missing data।
Simple भाषा में
NULL = अभी तक कोई जानकारी नहीं दी गई
NULL और Empty Value में अंतर
| NULL | Empty Value |
|---|---|
| Data मौजूद नहीं है | Data मौजूद है लेकिन खाली है |
| Unknown value | Known but empty |
| NULL != NULL | Empty string = Empty string |
Example Table
मान लीजिए हमारे पास students नाम की table है:
| id | name | age | city |
|---|---|---|---|
| 1 | Rahul | 20 | Delhi |
| 2 | Aman | NULL | Jaipur |
| 3 | Neha | 21 | NULL |
यहाँ:
- Aman की age पता नहीं है
- Neha का city पता नहीं है
NULL को Check कैसे करें
NULL value को check करने के लिए = operator का उपयोग नहीं किया जाता।
IS NULL
SELECT * FROM students
WHERE age IS NULL;
यह query उन students को दिखाएगी जिनकी age NULL है।
IS NOT NULL
SELECT * FROM students
WHERE city IS NOT NULL;
यह query उन students को दिखाएगी जिनका city available है।
NULL के साथ Comparison Operators
NULL के साथ =, !=, <, > जैसे operators काम नहीं करते।
Incorrect example:
SELECT * FROM students
WHERE age = NULL;
Correct example:
SELECT * FROM students
WHERE age IS NULL;
INSERT INTO में NULL Value
जब data available न हो, तब NULL insert किया जा सकता है।
INSERT INTO students (id, name, age, city)
VALUES (4, 'Rohit', NULL, 'Mumbai');
UPDATE में NULL Value
किसी column की value को NULL set किया जा सकता है।
UPDATE students
SET city = NULL
WHERE id = 1;
NULL और Aggregate Functions
Aggregate functions NULL values को ignore करते हैं।
Example:
SELECT COUNT(age)
FROM students;
यह query सिर्फ उन्हीं rows को count करेगी जिनमें age NULL नहीं है।
NULL और AND / OR Operators
NULL के साथ logical operators का behavior ध्यान में रखना जरूरी है।
SELECT * FROM students
WHERE age > 18 AND city = 'Delhi';
अगर age NULL है, तो condition false मानी जाएगी।
NULL और ORDER BY
NULL values का sorting database पर depend करता है।
SELECT * FROM students
ORDER BY age;
कुछ databases में NULL पहले आता है, कुछ में बाद में।
NULL और NOT NULL Constraint
Table बनाते समय column को NOT NULL define किया जा सकता है।
CREATE TABLE users (
id INT,
name VARCHAR(50) NOT NULL,
email VARCHAR(100)
);
इसमें name column कभी NULL नहीं हो सकता।
Common Mistakes
- NULL को 0 या empty string समझ लेना
=operator से NULL check करना- NULL behavior को ignore करना
Summary
- NULL का मतलब data available नहीं है
- NULL zero या empty string नहीं होता
- NULL check करने के लिए IS NULL का उपयोग होता है
- Aggregate functions NULL values को ignore करते हैं
