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

MySQL IF() फंक्शन को SELECT स्टेटमेंट के भीतर कैसे उपयोग करें

IF() फंक्शन को SELECT सूची में सीधे उपयोग करके सशर्त कॉलम मान उत्पन्न कर सकते हैं।

नमूना डेटा: Students टेबल

mysql> SELECT * FROM Students;
+----+-----------+-----------+----------+----------------+
| id | Name      | Country   | Language | Course         |
+----+-----------+-----------+----------+----------------+
| 1  | Francis   | UK        | English  | Literature     |
| 2  | Rick      | USA       | English  | History        |
| 3  | Correy    | USA       | English  | Computers      |
| 4  | Shane     | France    | French   | Computers      |
| 5  | Validimir | Russia    | Russian  | Computers      |
| 6  | Steve     | Australia | English  | Geoinformatics |
| 7  | Rahul     | India     | Hindi    | Yoga           |
| 8  | Harshit   | India     | Hindi    | Computers      |
+----+-----------+-----------+----------+----------------+

क्वेरी: भाषा के आधार पर सशर्त कॉलम

mysql> SELECT 
    Name, 
    IF(Language = 'English', 'Eng_Language', 'Other Language') AS 'Native Language',
    Course
FROM students;

परिणाम

+-----------+-----------------+----------------+
| Name      | Native Language | Course         |
+-----------+-----------------+----------------+
| Francis   | Eng_Language    | Literature     |
| Rick      | Eng_Language    | History        |
| Correy    | Eng_Language    | Computers      |
| Shane     | Other Language  | Computers      |
| Validimir | Other Language  | Computers      |
| Steve     | Eng_Language    | Geoinformatics |
| Rahul     | Other Language  | Yoga           |
| Harshit   | Other Language  | Computers      |
+-----------+-----------------+----------------+

व्याख्या

  • Language = 'English' शर्त जांचता है
  • सत्य: 'Eng_Language', असत्य: 'Other Language'
  • परिणाम कॉलम एलियास: Native Language

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

SELECT Name,
    IF(Language = 'English', 'English',
       IF(Language = 'Hindi', 'Hindi', 'Other')) AS Lang_Group
FROM Students;

CASE विकल्प (अधिक पठनीय जब कई शर्तें)

SELECT Name,
    CASE Language
        WHEN 'English' THEN 'English'
        WHEN 'Hindi' THEN 'Hindi'
        WHEN 'French' THEN 'French'
        ELSE 'Other'
    END AS Lang_Group
FROM Students;
सलाह: 2-3 शर्तों के लिए IF() ठीक है। अधिक के लिए CASE पठनीय और रखरखाव योग्य है।
  1. - MySQL सेलेक्ट स्टेटमेंट में IF() फ़ंक्शन?

    IF() फ़ंक्शन एक शर्त के आधार पर वैल्यू वापस करता है। सिंटैक्स इस प्रकार है: SELECT IF(yourCondition, yourMessageIfConditionBecomesTrue,yourMessageIfConditionBecomesFalse) from yourTableName; आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable    (    Value int   &nb

  1. - क्या MySQL क्वेरी में SELECT NULL स्टेटमेंट का उपयोग कर सकते हैं?

    हां, हम MySQL क्वेरी में SELECT NULL स्टेटमेंट का उपयोग कर सकते हैं। आइए पहले एक टेबल बनाते हैं: mysql> create table DemoTable ( Name varchar(100) ); Query OK, 0 rows affected (0.49 sec) इन्सर्ट कमांड का उपयोग करके टेबल में कुछ रिकॉर्ड डालें: mysql> insert into DemoTable values(Chris)

  1. - MySQL में UPDATE के साथ सबक्वेरी (SELECT) का उपयोग कैसे करें?

    MySQL में UPDATE स्टेटमेंट के WHERE क्लॉज में सबक्वेरी का उपयोग करके अन्य तालिका या शर्त के आधार पर पंक्तियों को अपडेट किया जा सकता है। सिंटैक्स UPDATE table_name SET column = value WHERE column IN (SELECT ... FROM ...); उदाहरण तालिका बनाएं: mysql> CREATE TABLE DemoTable (Id INT, Name VARCHAR(2