Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MySQL

MySQL CASE स्टेटमेंट से छात्र परिणाम के लिए कस्टम संदेश सेट करें

MySQL का CASE स्टेटमेंट कंडीशनल लॉजिक लागू करने और कस्टम आउटपुट उत्पन्न करने का शक्तिशाली तरीका है। इसका उपयोग रिपोर्टिंग, ग्रेडिंग, और डेटा ट्रांसफॉर्मेशन के लिए किया जाता है।

उदाहरण: मार्क्स के आधार पर परिणाम संदेश

डेमो टेबल बनाएं:

mysql> CREATE TABLE DemoTable1916 (
    StudentName VARCHAR(20),
    StudentMarks INT
);

डेटा इन्सर्ट करें:

mysql> INSERT INTO DemoTable1916 VALUES
('Chris', 59), ('David', 89), ('Sam', 94), ('Mike', 75), ('Carol', 69);

CASE स्टेटमेंट के साथ क्वेरी:

mysql> SELECT StudentName,
    CASE 
        WHEN StudentMarks > 70 THEN 'Good Marks'
        ELSE 'Not Good Marks'
    END AS Result
FROM DemoTable1916;

आउटपुट:

+-------------+----------------+
| StudentName | Result         |
+-------------+----------------+
| Chris       | Not Good Marks |
| David       | Good Marks     |
| Sam         | Good Marks     |
| Mike        | Good Marks     |
| Carol       | Not Good Marks |
+-------------+----------------+

CASE स्टेटमेंट के दो रूप

1. सरल CASE (मान की तुलना)

CASE column
    WHEN value1 THEN result1
    WHEN value2 THEN result2
    ELSE default_result
END

2. खोजा गया CASE (शर्तों का मूल्यांकन) - ऊपर उपयोग किया गया

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ELSE default_result
END

उन्नत उदाहरण: ग्रेड सिस्टम

SELECT StudentName, StudentMarks,
    CASE
        WHEN StudentMarks >= 90 THEN 'A+'
        WHEN StudentMarks >= 80 THEN 'A'
        WHEN StudentMarks >= 70 THEN 'B'
        WHEN StudentMarks >= 60 THEN 'C'
        ELSE 'F'
    END AS Grade
FROM DemoTable1916;

UPDATE में CASE का उपयोग

UPDATE students 
SET status = CASE
    WHEN marks >= 40 THEN 'Pass'
    ELSE 'Fail'
END;

बेस्ट प्रैक्टिस

  • ELSE क्लॉज़: हमेशा ELSE शामिल करें ताकि NULL परिणाम न मिले
  • क्रम मायने रखता है: शर्तों का मूल्यांकन क्रम से होता है, पहली मिलान वाली लागू होती है
  • पढ़ने योग्यता: जटिल लॉजिक के लिए इंडेंटेशन और फॉर्मेटिंग का उपयोग करें
  • इंडेक्स उपयोग: CASE कॉलम पर इंडेक्स उपयोग नहीं करता; WHERE क्लॉज़ में शर्तें बेहतर हैं

CASE स्टेटमेंट SQL को घोषणात्मक और पठनीय बनाता है, एप्लिकेशन कोड में लॉजिक ले जाने की आवश्यकता कम करता है।

  1. - MySQL में IF स्टेटमेंट से ENUM मानों के लिए कस्टम संदेश सेट करें

    IF() फ़ंक्शन से ENUM Y/N को पठनीय संदेश में बदलें ENUM कॉलम के Y/N मानों को Active Member/Not Active Member जैसे कस्टम संदेश में बदलने के लिए IF() का उपयोग करें। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable1992 ( ClientId int NOT NULL AUTO_INCREMENT PRIMARY KEY, ClientName varchar(20),

  1. - MySQL में IF स्टेटमेंट और यूजर-डिफाइंड वेरिएबल से कस्टम संदेश सेट करें

    SELECT INTO वेरिएबल और IF() से शर्ती संदेश उत्पन्न करें कुल योग की गणना करके उसे वेरिएबल में स्टोर करें, फिर IF() से कस्टम संदेश दिखाएं। टेबल बनाएं और डेटा डालें: mysql> create table DemoTable2008 ( Value int ); Query OK, 0 rows affected (10.59 sec) mysql> insert into DemoTable2008 values(10);

  1. - MySQL SELECT परिणाम को कस्टम वेरिएबल में कैसे स्टोर करें

    उदाहरण टेबल बनाएं: INSERT INTO DemoTable2013 VALUES (Chris), (David), (Mike), (Sam), (Bob); वेरिएबल में काउंट स्टोर करें SET @query := (SELECT COUNT(*) FROM DemoTable2013); वेरिएबल का उपयोग करके अंतिम रिकॉर्ड प्राप्त करें WHERE (@query := @query - 1) = 0; परिणाम +------+ | Name | +------+ | Bo