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

MySQL में SELECT स्टेटमेंट में IF/ELSE लॉजिक का उपयोग करना

MySQL में SELECT स्टेटमेंट के भीतर शर्ती लॉजिक (IF/ELSE) लागू करने के लिए IF() फ़ंक्शन या CASE WHEN अभिव्यक्ति का उपयोग करें।

IF() फ़ंक्शन सिंटैक्स

SELECT column1, IF(condition, value_if_true, value_if_false) AS alias FROM table_name;

व्यावहारिक उदाहरण

1. टेबल बनाएं और डेटा डालें

mysql> CREATE TABLE DemoTable721 (
    Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    FirstName VARCHAR(100),
    Marks INT,
    CountryName VARCHAR(100)
);
Query OK, 0 rows affected (0.57 sec)

mysql> INSERT INTO DemoTable721 (FirstName, Marks, CountryName) VALUES 
('Chris', 56, 'US'),
('Robert', 78, 'UK'),
('Mike', 45, 'AUS'),
('Carol', 89, 'ENG');
Query OK, 4 rows affected (0.15 sec)

2. सभी रिकॉर्ड्स देखें

mysql> SELECT * FROM DemoTable721;
+----+-----------+-------+-------------+
| Id | FirstName | Marks | CountryName |
+----+-----------+-------+-------------+
| 1  | Chris     | 56    | US          |
| 2  | Robert    | 78    | UK          |
| 3  | Mike      | 45    | AUS         |
| 4  | Carol     | 89    | ENG         |
+----+-----------+-------+-------------+
4 rows in set (0.00 sec)

3. IF() के साथ SELECT - 75 से अधिक अंक होने पर अंक दिखाएं, अन्यथा देश

mysql> SELECT FirstName, IF(Marks > 75, Marks, CountryName) AS Result FROM DemoTable721;
+-----------+--------+
| FirstName | Result |
+-----------+--------+
| Chris     | US     |      -- 56 <= 75, इसलिए देश
| Robert    | 78     |      -- 78 > 75, इसलिए अंक
| Mike      | AUS    |      -- 45 <= 75, इसलिए देश
| Carol     | 89     |      -- 89 > 75, इसलिए अंक
+-----------+--------+
4 rows in set (0.00 sec)

CASE WHEN (अधिक शक्तिशाली)

SELECT FirstName,
    CASE 
        WHEN Marks >= 90 THEN 'Excellent'
        WHEN Marks >= 75 THEN 'Good'
        WHEN Marks >= 50 THEN 'Average'
        ELSE 'Needs Improvement'
    END AS Grade
FROM DemoTable721;
+-----------+----------------------+
| FirstName | Grade                |
+-----------+----------------------+
| Chris     | Average              |
| Robert    | Good                 |
| Mike      | Needs Improvement    |
| Carol     | Excellent            |
+-----------+----------------------+

IF() vs CASE WHEN तुलना

विशेषताIF()CASE WHEN
शर्तेंएकल शर्तएकाधिक शर्तें
पठनीयतासरल के लिए अच्छीजटिल के लिए बेहतर
नेस्टिंगमुश्किलआसान
प्रकार सुरक्षापरिणाम प्रकार पहली शाखा सेसभी शाखाओं से सामान्य प्रकार

नेस्टेड IF उदाहरण

SELECT FirstName,
    IF(Marks > 75, 'High',
    IF(Marks > 50, 'Medium', 'Low')) AS Level
FROM DemoTable721;

WHERE क्लॉज में IF/CASE

-- IF का उपयोग
SELECT * FROM DemoTable721 
WHERE IF(Marks > 75, 1, 0) = 1;

-- CASE का उपयोग (अधिक पठनीय)
SELECT * FROM DemoTable721 
WHERE CASE WHEN Marks > 75 THEN 1 ELSE 0 END = 1;
  1. - MySQL SELECT IF स्टेटमेंट के साथ OR का उपयोग कैसे करें?

    आप SELECT IF स्टेटमेंट के साथ OR का उपयोग कर सकते हैं। OR के साथ SELECT को समझने के लिए, एक टेबल बनाते हैं। टेबल बनाने का क्वेरी: ); Query OK, 0 rows affected (0.68 sec) INSERT कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: INSERT INTO EmployeeInformation VALUES(7,Maria,Intern); Query OK, 1 row

  1. - MySQL में SELECT * के साथ DISTINCT ID कैसे प्राप्त करें?

    SELECT * के साथ विशिष्ट ID प्राप्त करने के लिए GROUP BY कमांड का उपयोग करें। सिंटैक्स SELECT * FROM yourTableName GROUP BY yourColumnName; उदाहरण के साथ समझें सबसे पहले एक टेबल बनाते हैं (बिना प्राइमरी की के ताकि डुप्लिकेट ID डाले जा सकें): ); Query OK, 0 rows affected (1.03 sec) डुप्लिकेट ID

  1. Java में MySQL के लिए PreparedStatement का उपयोग करके SELECT क्वेरी कैसे चलाएं? Java में MySQL के लिए PreparedStatement का उपयोग करके SELECT क्वेरी कैसे चलाएं?

    Java में PreparedStatement से SELECT क्वेरी निष्पादित करना SELECT क्वेरी के लिए executeQuery() मेथड का उपयोग किया जाता है। सिंटैक्स PreparedStatement pstmt = connection.prepareStatement(query); ResultSet rs = pstmt.executeQuery(); उदाहरण: डेटाबेस में टेबल बनाएं ); डेटा डालें: insert into JavaP