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

Câu lệnh CASE trong MySQL hoạt động như thế nào?

MySQL CASE hoạt động tương tự cấu trúc switch trong lập trình. Có 2 dạng chính:

Dạng 1: So sánh biểu thức (Searched CASE)

CASE
    WHEN bieu_thuc_1 THEN ket_qua_1
    WHEN bieu_thuc_2 THEN ket_qua_2
    ...
    ELSE ket_qua_mac_dinh
END AS ten_alias;

Ví dụ:

SELECT CASE
    WHEN 45 < 55 THEN '55 lớn hơn 45'
    WHEN 10 != 11 THEN '10 khác 11'
    ELSE 'Trường hợp mặc định'
END AS Result;

Kết quả: 55 lớn hơn 45 (điều kiện đầu tiên đúng).

Dạng 2: So sánh giá trị cột (Simple CASE)

CASE ten_cot
    WHEN gia_tri_1 THEN ket_qua_1
    WHEN gia_tri_2 THEN ket_qua_2
    ...
    ELSE ket_qua_mac_dinh
END;

Ví dụ với bảng CaseDemo:

CREATE TABLE CaseDemo (Id INT, Name VARCHAR(100));
INSERT INTO CaseDemo VALUES (1,'John'), (2,'Sam');

SELECT CASE Name
    WHEN 'John' THEN 'Tên của anh ấy là John'
    WHEN 'Sam' THEN 'Tên của anh ấy là Sam'
    ELSE -1
END AS Result
FROM CaseDemo;

Kết quả

+----------------------+
| Result               |
+----------------------+
| Tên của anh ấy là John |
| Tên của anh ấy là Sam  |
+----------------------+

Ứng dụng: Phân loại dữ liệu, tạo cột tính toán, chuyển đổi giá trị trong SELECT, UPDATE, ORDER BY.