समस्या:
आप एक कॉलम में NULL के साथ रिकॉर्ड ढूंढना चाहते हैं।
उदाहरण:
हमारे डेटाबेस में children
चार कॉलम में डेटा के साथ:id
, first_name
, middle_name
, और last_name
।
आईडी | <थ>पहला_नाममध्य_नाम | last_name | |
---|---|---|---|
1 | जॉन | कार्ल | जैक्सन |
2 | टॉम | NULL | थॉमसन |
3 | लिसा | एलिस | शून्य |
4 | ऐनी | NULL | स्मिथ |
आइए बिना मध्य नाम वाले बच्चों का आईडी, पहला नाम और अंतिम नाम खोजें (स्तंभ middle_name
में NULL) ) हम इसके लिए IS NULL ऑपरेटर का उपयोग करते हैं।
समाधान:
SELECT id, first_name, last_name FROM children WHERE middle_name IS NULL;
ये रहा परिणाम:
आईडी | <थ>पहला_नामlast_name | |
---|---|---|
2 | टॉम | थॉमसन |
4 | ऐनी | स्मिथ |
यह केवल middle_name
में NULL के साथ रिकॉर्ड लौटाता है , इसलिए टॉम और ऐनी मौजूद हैं, लेकिन जॉन और लिसा नहीं जिनके मध्य नाम हैं।
चर्चा:
IS NULL
का उपयोग करें एक कॉलम में NULL के साथ रिकॉर्ड खोजने के लिए WHERE की स्थिति में ऑपरेटर। बेशक, आप कॉलम के नाम के बजाय किसी भी अभिव्यक्ति का उपयोग कर सकते हैं और जांच सकते हैं कि यह न्यूल लौटाता है या नहीं। कॉलम के नाम और IS NULL ऑपरेटर के अलावा और कुछ नहीं चाहिए (हमारे उदाहरण में, middle_name IS NULL
) पंक्तियों को फ़िल्टर करने के लिए इस शर्त को WHERE क्लॉज में रखें (हमारे उदाहरण में, WHERE middle_name IS NULL
) यदि शर्त सत्य है, तो कॉलम एक NULL संग्रहीत करता है और यह पंक्ति वापस कर दी जाती है। ऊपर, क्वेरी टॉम और ऐनी के बच्चों के साथ केवल दो रिकॉर्ड लौटाती है, जिनके मध्य नाम नहीं हैं, इसलिए कॉलम middle_name
NULL स्टोर करता है।