SQL Academy · पाठ

NULL: तीसरा सत्य-मूल्य

NULL का अर्थ समझिए, जानिए कि NULL किसी भी चीज़ के बराबर नहीं होता (स्वयं के भी नहीं), और तीन-मूल्यीय तर्क WHERE clauses को कैसे प्रभावित करता है।

पाठ 3, कुल 4 में से13 चरण

NULL: तीसरा सत्य-मूल्य, CoddyKit पर SQL Academy का एक निःशुल्क पाठ है। यह 4 में से 3वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह SQL Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। SQL Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

NULL क्या है?

NULL अज्ञात या गायब डेटा को दर्शाता है। यह शून्य नहीं है, खाली स्ट्रिंग नहीं है और false नहीं है। यह किसी मान की स्पष्ट अनुपस्थिति है।

NULL किसी भी चीज़ के बराबर नहीं है (खुद के भी नहीं)

यही वह नियम है जो हर किसी को उलझन में डाल देता है:

SELECT NULL = NULL;       -- NULL (not true!)
SELECT NULL = 0;          -- NULL
SELECT NULL = '';        -- NULL
SELECT NULL <> 1;         -- NULL

IS NULL और IS NOT NULL का उपयोग करें

NULL की जाँच करने के लिए आपको विशेष शर्तों IS NULL और IS NOT NULL का उपयोग करना होगा:

SELECT email FROM users WHERE deleted_at IS NULL;       -- active users
SELECT email FROM users WHERE deleted_at IS NOT NULL;   -- deleted users

तीन-मूल्यीय तर्क

SQL के तार्किक तर्क में THREE मान होते हैं: TRUE, FALSE और UNKNOWN (NULL)।

ABA AND BA OR B
TRUENULLNULLTRUE
FALSENULLFALSENULL
NULLNULLNULLNULL

WHERE की शर्त NULL होने पर पंक्तियाँ हटा देता है

यदि किसी पंक्ति के लिए WHERE x = 5 का परिणाम NULL आता है (क्योंकि x NULL है), तो वह पंक्ति वापस नहीं की जाती। केवल वे पंक्तियाँ रखी जाती हैं जिनकी शर्त TRUE होती है।

-- Suppose age is NULL for some users:
SELECT * FROM users WHERE age >= 18;
-- Users with NULL age are NOT returned, even though we
-- don't actually know they're under 18.

NOT IN और NULL की समस्या

यदि उपक्वेरी में किसी भी नाम का मान NULL है, तो यह क्वेरी ZERO पंक्तियाँ लौटाती है:

SELECT * FROM users
WHERE name NOT IN (SELECT excluded_name FROM blocklist);
-- If blocklist has a NULL row, the whole NOT IN evaluates to NULL
-- → no rows returned

-- Safer:
SELECT * FROM users u
WHERE NOT EXISTS (
  SELECT 1 FROM blocklist b WHERE b.excluded_name = u.name
);

COALESCE: NULL को डिफ़ॉल्ट मान से बदलना

COALESCE पहला ऐसा तर्क लौटाता है जो NULL नहीं होता:

SELECT id, COALESCE(full_name, email, 'Anonymous') AS display_name
FROM users;

-- If full_name is NULL, use email; if that's NULL too, use 'Anonymous'.

NULLIF: इसका उलटा

NULLIF(a, b) तब NULL लौटाता है जब a = b हो, अन्यथा a लौटाता है। यह '' या 0 जैसे संकेतक मानों को NULL मानने के लिए उपयोगी है।

SELECT NULLIF(price, 0) FROM products;
-- Returns NULL when price is 0, useful for AVG() that should ignore zeros.

समुच्चयकरण में NULL

समुच्चय फ़ंक्शन ( COUNT(*) को छोड़कर) NULL इनपुट को छोड़ देते हैं:

-- Suppose:  prices = [10, 20, NULL, 30]
SELECT COUNT(*)     FROM products;  -- 4 (counts rows)
SELECT COUNT(price) FROM products;  -- 3 (counts non-NULL prices)
SELECT AVG(price)   FROM products;  -- 20  (60 / 3, not 60 / 4)
SELECT SUM(price)   FROM products;  -- 60

NULL का क्रम

डिफ़ॉल्ट रूप से, PostgreSQL बढ़ते क्रम में NULL को अंत में और घटते क्रम में शुरुआत में रखता है। आप इसे बदल सकते हैं:

SELECT * FROM users ORDER BY last_login_at DESC NULLS LAST;

NULL और खाली स्ट्रिंग को संग्रहीत करना

हर स्तंभ के लिए तय करें: क्या '' एक मान्य मान है? यदि नहीं, तो "कोई मान नहीं" दर्शाने के लिए NULL का उपयोग करें। यदि हाँ, तो NULL का अर्थ कुछ अलग होता है (जैसे "अभी पूछा नहीं गया")।

सुसंगत रहें — एक ही स्तंभ में दोनों को मिलाकर उपयोग न करें।

पुनरावलोकन

NULL अपना स्वतंत्र सत्य-मूल्य है।

  • जाँच के लिए IS NULL का उपयोग करें, कभी भी = NULL का नहीं
  • WHERE फ़िल्टर केवल TRUE वाली पंक्तियाँ रखते हैं
  • समुच्चय फ़ंक्शन NULL इनपुट को छोड़ देते हैं
  • COALESCE आपका सहायक है

त्वरित जाँच

SELECT NULL = NULL; क्या लौटाता है?

शुरुआत निःशुल्क

एआई शिक्षक के साथ SQL सीखें — निःशुल्क

अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।

पाठ्यक्रम
46
पाठ
183

अक्सर पूछे जाने वाले प्रश्न

क्या “NULL: तीसरा सत्य-मूल्य” पाठ निःशुल्क है?

हाँ—“NULL: तीसरा सत्य-मूल्य” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और SQL Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। SQL Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।

“NULL: तीसरा सत्य-मूल्य” में मैं क्या सीखूँगा?

NULL का अर्थ समझिए, जानिए कि NULL किसी भी चीज़ के बराबर नहीं होता (स्वयं के भी नहीं), और तीन-मूल्यीय तर्क WHERE clauses को कैसे प्रभावित करता है। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ SQL Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।

क्या SQL Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?

पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर SQL Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 3वाँ पाठ है।

“NULL: तीसरा सत्य-मूल्य” पाठ पूरा करने में कितना समय लगता है?

CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।

क्या मैं इस SQL Academy पाठ में कोड लिख और चला सकता हूँ?

हाँ। हर SQL Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।

इस पाठ्यक्रम के सभी पाठ

  1. RDBMS क्या है और तालिकाएँ क्यों महत्वपूर्ण हैं
  2. प्राथमिक कुंजियाँ और विशिष्टता
  3. NULL: तीसरा सत्य-मूल्य
  4. डेटा प्रकारों का अवलोकन: INT VARCHAR DATE BOOLEAN
← SQL Academy पर वापस जाएँ