Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MySQL

ฉันจะใช้ฟังก์ชัน MySQL IF () ภายในคำสั่ง SELECT ได้อย่างไร


ค่อนข้างเป็นไปได้ที่จะใช้ฟังก์ชัน MySQL IF() ภายในคำสั่ง SELECT โดยระบุชื่อคอลัมน์พร้อมกับเงื่อนไขเป็นอาร์กิวเมนต์แรกของฟังก์ชัน IF() เพื่อให้เข้าใจ ให้พิจารณาข้อมูลต่อไปนี้จากตาราง 'นักศึกษา'

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 |
+----+-----------+-----------+----------+----------------+
8 rows in set (0.00 sec)

ด้วยความช่วยเหลือของแบบสอบถามต่อไปนี้ มีฟังก์ชัน IF() ภายในคำสั่ง SELECT เราจะได้รับชื่อและรายละเอียดหลักสูตรของนักเรียน และหากพวกเขามีภาษาอังกฤษก็จะเขียน 'Eng_Language' หรือ 'ภาษาอื่น' .

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      |
+-----------+-----------------+----------------+
8 rows in set (0.00 sec)