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पठनीय और रखरखाव योग्य है।