MySQL में CASE स्टेटमेंट का उपयोग सशर्त तर्क (conditional logic) लागू करने के लिए किया जाता है। यह आपको SQL क्वेरीज़ में IF-ELSE जैसी कार्यक्षमता प्रदान करता है।
सिंटैक्स
SELECT *,
CASE
WHEN आपकी_शर्त THEN आपका_स्टेटमेंट
WHEN आपकी_शर्त THEN आपका_स्टेटमेंट
...
ELSE आपका_डिफ़ॉल्ट_स्टेटमेंट
END AS कॉलम_नाम
FROM आपकी_टेबल_नाम;
उदाहरण: छात्रों के अंकों के आधार पर ग्रेड निर्धारित करना
1. टेबल बनाएं
mysql> CREATE TABLE DemoTable (
-> StudentName VARCHAR(20),
-> StudentMarks INT
-> );
2. डेटा डालें
mysql> INSERT INTO DemoTable VALUES('Chris', 78);
mysql> INSERT INTO DemoTable VALUES('Robert', 88);
mysql> INSERT INTO DemoTable VALUES('Mike', 75);
mysql> INSERT INTO DemoTable VALUES('Sam', 98);
3. सभी रिकॉर्ड देखें
mysql> SELECT * FROM DemoTable;
आउटपुट:
+-------------+--------------+ | StudentName | StudentMarks | +-------------+--------------+ | Chris | 78 | | Robert | 88 | | Mike | 75 | | Sam | 98 | +-------------+--------------+
4. CASE WHEN क्वेरी लागू करें
mysql> SELECT *,
-> CASE
-> WHEN StudentMarks > 90 THEN 'Very Good Score'
-> WHEN StudentMarks > 80 THEN 'Good Score'
-> ELSE 'Not Good'
-> END AS Status
-> FROM DemoTable;
5. परिणाम
+-------------+--------------+-----------------+ | StudentName | StudentMarks | Status | +-------------+--------------+-----------------+ | Chris | 78 | Not Good | | Robert | 88 | Good Score | | Mike | 75 | Not Good | | Sam | 98 | Very Good Score | +-------------+--------------+-----------------+
मुख्य बिंदु
- CASE स्टेटमेंट क्रमिक रूप से शर्तों का मूल्यांकन करता है
- पहली मेल खाने वाली शर्त निष्पादित होती है
- ELSE क्लॉज वैकल्पिक है लेकिन अनुशंसित है
- END कीवर्ड अनिवार्य है