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

MySQL में WHEN क्लॉज के साथ CASE स्टेटमेंट लागू करें

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 कीवर्ड अनिवार्य है
  1. - MySQL में CASE WHEN के विकल्प: IF() फ़ंक्शन का उपयोग

    MySQL में सरल सशर्त तर्क के लिए CASE WHEN के बजाय IF() फ़ंक्शन अधिक संक्षिप्त और पठनीय हो सकता है। सिंटैक्स तुलना CASE WHEN SELECT CASE WHEN PlayerScore = 0 THEN ELSE PlayerScore END FROM DemoTable; IF() - सरल मामलों के लिए SELECT IF(PlayerScore = 0, , PlayerScore) FROM DemoTable; उदाह

  1. - MySQL में CASE WHEN के साथ काउंट कैसे करें?

    MySQL में शर्ती गिनती (कंडीशनल काउंट) करने के लिए SUM(CASE WHEN ... THEN 1 ELSE 0 END) पैटर्न का उपयोग करें। यह एक ही क्वेरी में एकाधिक शर्तों की गिनती करने का कुशल तरीका है। उदाहरण: विशिष्ट मार्क्स की गिनती प्रति छात्र डेमो टेबल बनाएं: mysql> CREATE TABLE DemoTable1910 ( FirstName VARCHAR

  1. - MySQL में CASE WHEN क्लॉज में एक्सप्रेशन सही काम नहीं कर रहा?

    सही CASE WHEN सिंटैक्स select (case when (first_name = John) then Carol when (last_name = Smith) then Doe end) RESULT from demo58; उदाहरण डेटा insert into demo58(first_name,last_name) values(John,Doe), (David,Smith), (John,Brown), (David,Miller); परिणाम +--------+ | RESULT | +-----