SQL में NULL मानों से निपटना एक मूलभूत पहलू है जिसे प्रत्येक डेटाबेस पेशेवर को समझना चाहिए। NULL डेटाबेस तालिका में गुम या अपरिभाषित मानों का प्रतिनिधित्व करता है, और आपके डेटा संचालन की अखंडता और सटीकता सुनिश्चित करने के लिए इन मानों को सही ढंग से संभालना महत्वपूर्ण है। यह आलेख SQL में NULL की अवधारणा, इसके निहितार्थ और NULL मानों को संभालने के लिए विभिन्न रणनीतियों पर प्रकाश डालेगा।
SQL में NULL एक विशेष मार्कर है जिसका उपयोग यह इंगित करने के लिए किया जाता है कि डेटाबेस में डेटा मान मौजूद नहीं है। यह एक खाली स्ट्रिंग या शून्य मान के बराबर नहीं है। इसके बजाय, NULL किसी भी मूल्य की अनुपस्थिति को दर्शाता है। डेटाबेस तालिका में NULL मानों की उपस्थिति प्रश्नों के परिणामों को प्रभावित कर सकती है, विशेषकर तुलना, एकत्रीकरण और जुड़ाव जैसे संचालन करते समय।
यह जांचने के लिए कि कोई मान शून्य है या नहीं, आप IS NULL या IS NOT NULL ऑपरेटर का उपयोग करते हैं। उदाहरण के लिए:
SELECT * FROM employees WHERE manager_id IS NULL;
यह क्वेरी उन सभी कर्मचारियों को पुनः प्राप्त करती है जिनके पास प्रबंधक नहीं है।
मानक तुलना ऑपरेटरों (=, !=,
SELECT * FROM employees WHERE manager_id = NULL;
यह क्वेरी कोई पंक्ति नहीं लौटाएगी, भले ही कुछ मैनेजर_आईडी मान शून्य हों। इसके बजाय, आपको इसका उपयोग करना चाहिए:
SELECT * FROM employees WHERE manager_id IS NULL;
एकत्रीकरण फ़ंक्शन जैसे SUM, AVG, COUNT इत्यादि, NULL मानों को अलग तरीके से संभालते हैं। उदाहरण के लिए, SUM और AVG NULL मानों को अनदेखा करते हैं, जबकि COUNT स्पष्ट रूप से निर्दिष्ट होने पर उन्हें गिन सकता है।
SELECT SUM(salary) FROM employees; -- NULL values are ignored SELECT AVG(salary) FROM employees; -- NULL values are ignored SELECT COUNT(manager_id) FROM employees; -- NULL values are ignored SELECT COUNT(*) FROM employees WHERE manager_id IS NULL; -- Counts only NULL values
जुड़ते समय, NULL मान अप्रत्याशित परिणाम दे सकते हैं। उदाहरण के लिए, INNER JOIN में शामिल होने की स्थिति में NULL मान वाली पंक्तियाँ शामिल नहीं हैं, जबकि LEFT JOIN में वे शामिल हैं।
SELECT e.name, d.department_name FROM employees e LEFT JOIN departments d ON e.department_id = d.id;
यह क्वेरी लेफ्ट जॉइन के कारण बिना विभाग वाले कर्मचारियों सहित सभी कर्मचारियों को पुनः प्राप्त करती है।
COALESCE फ़ंक्शन अभिव्यक्तियों की सूची में पहला गैर-शून्य मान लौटाता है। यह NULL को डिफ़ॉल्ट मान से बदलने के लिए उपयोगी है।
SELECT name, COALESCE(manager_id, 'No Manager') AS manager_id FROM employees;
यह क्वेरी NULL मैनेजर_आईडी मानों को 'नो मैनेजर' स्ट्रिंग से बदल देती है।
कई SQL बोलियाँ NULL मानों को संभालने के लिए IFNULL (MySQL) या ISNULL (SQL सर्वर) जैसे फ़ंक्शन प्रदान करती हैं।
-- MySQL SELECT name, IFNULL(manager_id, 'No Manager') AS manager_id FROM employees; -- SQL Server SELECT name, ISNULL(manager_id, 'No Manager') AS manager_id FROM employees;
यदि दोनों तर्क बराबर हैं तो NULLIF फ़ंक्शन NULL लौटाता है; अन्यथा, यह पहला तर्क लौटाता है। यह शून्य त्रुटियों से विभाजन से बचने के लिए उपयोगी है।
SELECT price / NULLIF(quantity, 0) AS unit_price FROM products;
यदि मात्रा शून्य है तो यह क्वेरी NULL लौटाकर शून्य से विभाजन को रोकती है।
SQL में NULL मानों को संभालने के लिए विभिन्न परिचालनों में उनके व्यवहार पर सावधानीपूर्वक विचार करने और समझने की आवश्यकता होती है। उचित SQL फ़ंक्शंस का उपयोग करके और सर्वोत्तम प्रथाओं का पालन करके, आप यह सुनिश्चित कर सकते हैं कि आपकी डेटाबेस क्वेरीज़ सटीक और विश्वसनीय परिणाम देती हैं। चाहे आप NULL की जाँच कर रहे हों, एकत्रीकरण कर रहे हों, या तालिकाओं में शामिल हो रहे हों, डेटा अखंडता बनाए रखने और अपने SQL संचालन में वांछित परिणाम प्राप्त करने के लिए उचित NULL हैंडलिंग महत्वपूर्ण है।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3