Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Triển khai câu lệnh CASE WHEN trong MySQL

Câu lệnh CASE WHEN trong MySQL cho phép bạn thực hiện logic điều kiện trực tiếp trong truy vấn, tương tự như cấu trúc if-else trong lập trình. Cú pháp cơ bản như sau:

SELECT *, 
       CASE 
           WHEN dieu_kien_1 THEN ket_qua_1
           WHEN dieu_kien_2 THEN ket_qua_2
           ...
           ELSE ket_qua_mac_dinh
       END AS ten_cot_moi
FROM ten_bang;

Ví dụ minh họa

Tạo bảng DemoTable lưu tên học sinh và điểm số:

CREATE TABLE DemoTable (
    StudentName VARCHAR(20),
    StudentMarks INT
);

Chèn dữ liệu mẫu:

INSERT INTO DemoTable VALUES ('Chris', 78);
INSERT INTO DemoTable VALUES ('Robert', 88);
INSERT INTO DemoTable VALUES ('Mike', 75);
INSERT INTO DemoTable VALUES ('Sam', 98);

Sử dụng CASE WHEN để phân loại điểm số:

SELECT *, 
       CASE 
           WHEN StudentMarks > 90 THEN 'Rất giỏi'
           WHEN StudentMarks > 80 THEN 'Giỏi'
           ELSE 'Cần cải thiện'
       END AS XepLoai
FROM DemoTable;

Kết quả

StudentNameStudentMarksXepLoai
Chris78Cần cải thiện
Robert88Giỏi
Mike75Cần cải thiện
Sam98Rất giỏi

Lưu ý: MySQL đánh giá các điều kiện theo thứ tự và dừng lại ở điều kiện đầu tiên thỏa mãn. Mệnh đề ELSE là tùy chọn; nếu thiếu và không có điều kiện nào khớp, kết quả sẽ là NULL.