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

ใช้ IF Clause ใน MySQL แสดงผล Pass/Fail ในคอลัมน์ใหม่

ใช้ฟังก์ชัน IF(condition, true_value, false_value) ใน SELECT เพื่อสร้างคอลัมน์เงื่อนไข

ตัวอย่าง: ให้เกรด Pass/Fail จากคะแนน

1. สร้างตารางนักเรียน

mysql> CREATE TABLE DemoTable (
    -> Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    -> Name VARCHAR(100),
    -> Subject VARCHAR(100),
    -> Score INT
    -> );
mysql> INSERT INTO DemoTable(Name, Subject, Score) VALUES 
('Chris', 'MySQL', 80), ('Robert', 'MongoDB', 45), ('Adam', 'Java', 78);

2. Query พร้อมคอลัมน์ Status

mysql> SELECT Name, Subject, Score, IF(Score > 75, 'PASS', 'FAIL') AS Status FROM DemoTable;

ผลลัพธ์

+--------+---------+-------+--------+
| Name   | Subject | Score | Status |
+--------+---------+-------+--------+
| Chris  | MySQL   | 80    | PASS   |
| Robert | MongoDB | 45    | FAIL   |
| Adam   | Java    | 78    | PASS   |
+--------+---------+-------+--------+

ความแตกต่าง IF() vs CASE

คุณสมบัติIF()CASE
จำนวนเงื่อนไข1 เงื่อนไข (True/False)หลายเงื่อนไข (WHEN ... THEN ...)
ความซับซ้อนSimpleComplex logic
Standard SQLMySQL onlyANSI Standard

ตัวอย่าง CASE หลายเงื่อนไข (Grade A-F)

SELECT Name, Score,
    CASE 
        WHEN Score >= 90 THEN 'A'
        WHEN Score >= 80 THEN 'B'
        WHEN Score >= 70 THEN 'C'
        WHEN Score >= 60 THEN 'D'
        ELSE 'F'
    END AS Grade
FROM DemoTable;