Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

MySQL में केस स्टेटमेंट का उपयोग कैसे करें?

हर दिन भारी मात्रा में डेटा उत्पन्न होने के साथ, कुछ शर्तों के आधार पर डेटा पुनर्प्राप्त करना महत्वपूर्ण है। 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
&nbsp;&nbsp;WHEN contact_id < 1000 THEN 'TechOnTheNet.com'
&nbsp;&nbsp;WHEN website_id = 2 THEN 'CheckYourMath.com'
END
FROM contacts;

अब तक यह स्पष्ट हो जाना चाहिए कि MySQL में केस स्टेटमेंट लिखते समय, एक सबसे महत्वपूर्ण कारक 'उन्हें सही तरीके से ऑर्डर करना' है। बस याद रखें कि आपके द्वारा सूचीबद्ध क्रम में शर्तों का मूल्यांकन किया जाता है। एक बार जब कोई शर्त सही हो जाती है, तो CASE स्टेटमेंट परिणाम लौटा देगा और आगे शर्तों का मूल्यांकन नहीं करेगा। इसलिए उस ऑर्डर का चयन करते समय सावधान रहें जिसमें आप अपनी शर्तों को सूचीबद्ध करते हैं।

यदि आप MySQL के बारे में अधिक जानना चाहते हैं और इस ओपन-सोर्स रिलेशनल डेटाबेस को जानना चाहते हैं, तो हमारे MySQL DBA प्रमाणन प्रशिक्षण को देखें जो प्रशिक्षक के नेतृत्व वाले लाइव प्रशिक्षण और वास्तविक- जीवन परियोजना का अनुभव। यह प्रशिक्षण आपको MySQL को गहराई से समझने और विषय पर महारत हासिल करने में मदद करेगा।

हमारे लिए एक प्रश्न है? कृपया इस "माएसक्यूएल में केस स्टेटमेंट" के टिप्पणी अनुभाग में इसका उल्लेख करें और हम आपसे संपर्क करेंगे।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL क्वेरी में नहीं है

  2. MySQL ड्रॉप कॉलम

  3. MySQL कनेक्शन काम नहीं कर रहा:2002 ऐसी कोई फ़ाइल या निर्देशिका नहीं

  4. MySQL में एक कॉलम में गैर-संख्यात्मक मान कैसे खोजें

  5. MySQL क्वेरी में टाइमस्टैम्प को आज तक कनवर्ट करें