हर दिन भारी मात्रा में डेटा उत्पन्न होने के साथ, कुछ शर्तों के आधार पर डेटा पुनर्प्राप्त करना महत्वपूर्ण है। MySQL में CASE स्टेटमेंट पर इस लेख में, मैं चर्चा करूंगा कि इस स्टेटमेंट का उपयोग कैसे करें, एक शर्त या कई शर्तों पर डेटा पुनर्प्राप्त करने के लिए।
निम्नलिखित विषयों को इस लेख में शामिल किया जाएगा:
- एसक्यूएल का परिचय
- एसक्यूएल का उद्देश्य क्या है?
- माईएसक्यूएल में मामला
- MySQL में CASE का सिंटैक्स
- MySQL में CASE का उदाहरण
एसक्यूएल क्या है?
SQL एक डोमेन-विशिष्ट भाषा है जिसका प्रोग्रामिंग में व्यापक रूप से उपयोग किया जाता है। यह एक रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) में निहित डेटा के प्रबंधन के लिए या रिलेशनल डेटा स्ट्रीम मैनेजमेंट सिस्टम में स्ट्रीम प्रोसेसिंग के लिए डिज़ाइन किया गया है। सामान्य तौर पर, SQL एक मानक भाषा है जो डेटाबेस में डेटा को स्टोर करने, हेरफेर करने और पुनर्प्राप्त करने में मदद करती है।
एसक्यूएल का उद्देश्य क्या है?
SQL का उपयोग मूल रूप से डेटाबेस के साथ संचार करने के लिए किया जाता है। ANSI (अमेरिकन नेशनल स्टैंडर्ड इंस्टीट्यूट) के अनुसार, इसे रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) के लिए मानक भाषा माना जाता है। हम डेटाबेस से डेटा को अपडेट करने, डालने, हटाने या पुनर्प्राप्त करने जैसे कार्यों को करने के लिए SQL स्टेटमेंट का उपयोग करते हैं।
MySQL में CASE स्टेटमेंट क्या है?
MySQL में CASE स्टेटमेंट if/else लॉजिक को हैंडल करने का एक तरीका है। यह एक प्रकार का नियंत्रण कथन है जो प्रोग्रामिंग भाषाओं के सेल का निर्माण करता है क्योंकि वे कथनों के अन्य सेटों के निष्पादन को नियंत्रित करते हैं।
CASE स्टेटमेंट विभिन्न स्थितियों से गुजरता है और पहली शर्त पूरी होने पर मान देता है (जैसे निम्न-स्तरीय भाषाओं में IF-THEN-ELSE स्टेटमेंट)। एक बार शर्त सच हो जाने पर, यह ट्रैवर्स करना बंद कर देगी और परिणाम वापस कर देगी। यदि कोई भी शर्त सत्य नहीं है, तो यह ELSE खंड में मान लौटाता है।
यदि कोई ELSE क्लॉज नहीं है और कोई भी शर्त सत्य नहीं है, तो यह केवल NULL लौटाता है।
MySQL में CASE स्टेटमेंट का सिंटैक्स
मूल सिंटैक्स:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 WHEN conditionx THEN resultx ELSE result END;
केस-स्विच स्टेटमेंट प्राप्त करने के दो तरीके हो सकते हैं:
- केस_वैल्यू नामक एक वेरिएबल लेता है और इसे कुछ स्टेटमेंट_लिस्ट से मिलाता है।
CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] ... [ELSE statement_list] END;
- परिवर्तनीय समानता के बजाय search_condition पर विचार करें और तदनुसार कथन_सूची निष्पादित करें।
CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] ... [ELSE statement_list] END;
MySQL में केस स्टेटमेंट का उदाहरण
आइए एक तालिका पर विचार करें:छात्र
विद्यार्थी तालिका
विद्यार्थी आईडी | नाम | विभाग | लिंग |
001 | आकाश | सीएस | एम |
002 | बिक्रम | Mech | एम |
003 | चंदन | सीएस | एम |
004 | दीपक | सीएस | एम |
005 | एलिसिया | ईसी | F |
006 | फर्नांडीज | Mech | F |
उदाहरण: एक परिदृश्य पर विचार करें, जहां आपको विभाग के नामों को उनके पूर्ण रूपों में संशोधित करना होगा। यदि विभाग का नाम सीएस है, तो इसे कंप्यूटर विज्ञान में परिवर्तित किया जाना चाहिए; इसी तरह, मेक को मैकेनिकल और ईसी को इलेक्ट्रॉनिक और संचार में परिवर्तित किया जाना चाहिए।
नमूना क्वेरी
CASE department_name WHEN 'CS' THEN UPDATE Student SET department='Computer Science'; WHEN 'EC' THEN UPDATE Student SET department='Electronics and Communication'; ELSE UPDATE Student SET department=’Mechanical'; END;
आउटपुट:
संबंधित विभाग के नाम इस प्रकार बदल जाते हैं:
विद्यार्थी आईडी | नाम | विभाग | लिंग |
001 | आकाश | कंप्यूटर साइंस | एम |
002 | बिक्रम | यांत्रिक | एम |
003 | चंदन | कंप्यूटर साइंस | एम |
004 | दीपक | कंप्यूटर साइंस | एम |
005 | एलिसिया | इलेक्ट्रॉनिक्स और संचार | F |
006 | फर्नांडीज | यांत्रिक | F |
उदाहरण: एक परिदृश्य पर विचार करें, जहां आपको छात्र तालिका के अनुरूप सभी क्षेत्रों का चयन करना होगा। चूंकि लिंग फ़ील्ड में लिखे गए मान एकल वर्ण मान (M/F) हैं, आइए हम M को पुरुष और F को महिला में बदलने के लिए एक प्रश्न लिखें।
नमूना क्वेरी
SELECT Student ID, Name, Department, CASE Gender WHEN'M' THEN 'Male' WHEN'F' THEN 'Female' END FROM Student;
आउटपुट:
विद्यार्थी आईडी | नाम | विभाग | लिंग |
001 | आकाश | कंप्यूटर साइंस | पुरुष |
002 | बिक्रम | यांत्रिक | पुरुष |
003 | चंदन | कंप्यूटर साइंस | पुरुष |
004 | दीपक | कंप्यूटर साइंस | पुरुष |
005 | एलिसिया | इलेक्ट्रॉनिक्स और संचार | महिला |
006 | फर्नांडीज | यांत्रिक | महिला |
केस स्विच इन SQL- कस्टम सॉर्टिंग
नमूना क्वेरी
CREATE PROCEDURE GetStudent(@ColToSort varchar(150)) AS SELECT StudentID, Name, Gender, Department FROM Student ORDER BY CASE WHEN @ColToSort='Department' THEN Department WHEN @ColToSort='Name' THEN Name WHEN @ColToSort='Gender' THEN Gender ElSE StudentID END;
आउटपुट:
आउटपुट दिए गए क्षेत्र के अनुसार क्रमबद्ध हो जाता है।
उपरोक्त प्रक्रिया (फ़ंक्शन) varchar डेटा प्रकार के एक चर को अपने तर्क के रूप में लेती है, और उस आधार पर, छात्र तालिका में टुपल्स को सॉर्ट करती है। इसके अलावा, हम स्थितियों की तुलना करने के लिए CASE कथनों का भी उपयोग कर सकते हैं।
उदाहरण: संपर्क नाम की एक तालिका पर विचार करें जिसमें संपर्क आईडी और वेबसाइट आईडी शामिल है। इन विवरणों के अनुसार, उपयोगकर्ता इन लिंक्स के माध्यम से नेविगेट कर सकता है:'TechOnTheNet.com' या 'CheckYourMath.com'।
नमूना क्वेरी
SELECT CASE WHEN contact_id < 1000 THEN 'TechOnTheNet.com' WHEN website_id = 2 THEN 'CheckYourMath.com' END FROM contacts;
अब तक यह स्पष्ट हो जाना चाहिए कि MySQL में केस स्टेटमेंट लिखते समय, एक सबसे महत्वपूर्ण कारक 'उन्हें सही तरीके से ऑर्डर करना' है। बस याद रखें कि आपके द्वारा सूचीबद्ध क्रम में शर्तों का मूल्यांकन किया जाता है। एक बार जब कोई शर्त सही हो जाती है, तो CASE स्टेटमेंट परिणाम लौटा देगा और आगे शर्तों का मूल्यांकन नहीं करेगा। इसलिए उस ऑर्डर का चयन करते समय सावधान रहें जिसमें आप अपनी शर्तों को सूचीबद्ध करते हैं।
यदि आप MySQL के बारे में अधिक जानना चाहते हैं और इस ओपन-सोर्स रिलेशनल डेटाबेस को जानना चाहते हैं, तो हमारे MySQL DBA प्रमाणन प्रशिक्षण को देखें जो प्रशिक्षक के नेतृत्व वाले लाइव प्रशिक्षण और वास्तविक- जीवन परियोजना का अनुभव। यह प्रशिक्षण आपको MySQL को गहराई से समझने और विषय पर महारत हासिल करने में मदद करेगा।
हमारे लिए एक प्रश्न है? कृपया इस "माएसक्यूएल में केस स्टेटमेंट" के टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपसे संपर्क करेंगे।