Thứ Tư, 27 Tháng Mười Một 2024
Trang chủPHP & MysqlMySQLTìm hiểu CASE WHEN trong MySQL - cách sử dụng và ứng...

Tìm hiểu CASE WHEN trong MySQL – cách sử dụng và ứng dụng

CASE WHEN là một câu lệnh trong MySQL được sử dụng để thực hiện các phép so sánh và trả về kết quả tương ứng. Nó giúp chúng ta thực hiện các lệnh tương tự như IF/ELSE trong MySQL.

DANH SÁCH BÀI VIẾT
Hàm SUM trong MYSQL - Tính tổng một cột (Hiểu trong 5 phút)
Sử dụng IF trong MySQL - Hàm IF trong MySQL
Tìm hiểu hàm DATE_FORMAT trong MySQL - Định dạng thời gian MySQL
Tìm hiểu CASE WHEN trong MySQL - cách sử dụng và ứng dụng
Hàm Max, Min trong MySQL - Tìm kiếm lớn nhất, bé nhất trong cột

CASE WHEN trong MySQL

Bài viết này chúng ta sẽ tìm hiểu về câu lệnh CASE WHEN, cú pháp và áp dụng câu lệnh Case when trong bài tập thực tế.

Hình ảnh minh họa

CÚ PHÁP

Cách 1:

  CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE default_result
  END

Trong đó:

  • condition1, condition2, conditionN: Là các câu lệnh điều kiện.
  • result1, result1, resultN: Kết quả trả về với các điều kiện tương ứng đúng.
  • default_result: Kết quả trả về khi không có điều kiện nào bên trên là đúng.

=>XEM THÊM: Tìm hiểu hàm DATE_FORMAT trong MySQL – Định dạng thời gian trong MySQL

Cách 2:

CASE  case_expression
   WHEN when_expression_1 THEN commands1
   WHEN when_expression_2 THEN commands2
   ...
   ELSE commands3
END CASE;

Trong đó:

  • case_expression: Là tên cột, tên biến.
  • when_expression_1, when_expression_2: Các giá trị có thể của case_expression.
  • commands1, commands2: Trả về kết quả tương ứng với các trường hợp sảy ra.
  • commands3: Kết quả nếu case_expression không khớp với bất kì when_expression nào.

=> Nó hoạt động tương tự như câu lệnh rẽ nhánh SWITCH CASE trong các ngôn ngữ lập trình.

Ví dụ sử dụng

Có bảng users với các hàng dữ liệu như bên dưới, bảng dữ liệu này để lưu trữ thông tin người dùng.

Chúng ta hãy chú ý tới cột role trong bảng. Cột này biểu thị chức vụ của từng user trong hệ thống, với tương ứng các số: 1 -> Admin, 2 -> Người dùng, 3 -> Đại lý.

Để minh họa sử dụng case when, khi truy vấn dữ liệu mình sẽ cho thêm cột là role_name là cột chuyển đổi số thành văn bản chức vụ user sử dụng câu lệnh case when. Chúng ta sẽ có câu lệnh đầy đủ như sau:

SELECT *, (CASE WHEN role = 1 THEN "Admin"
           WHEN role = 2 THEN "Người dùng"
           ELSE "Đại lý"
           END) AS role_name FROM `users` WHERE 1

=>XÊM THÊM: Thuộc tính AS (Alias) – Đặt bí danh

Và đây là kết quả khi thực hiện truy vấn dữ liệu.

Như vậy, câu lệnh đã thực hiện được yêu cầu đưa ra.

Cảm ơn bạn đã đọc hết bài viết! Chúc bạn học tốt!

[XEM TẤT CẢ CÁC BÀI HƯỚNG DẪN MYSQL TẠI ĐÂY]

XEM THÊM
Câu lệnh INSERT INTO trong MySQL – Lệnh chèn dữ liệu vào bảng
Câu lệnh CREATE TABLE trong MySQL – Lệnh tạo bảng mới
Các kiểu dữ liệu trong MySQL (Data Types) – Học MySQL
Câu lệnh SELECT trong MySQL – Khi nào thì dùng lệnh SELECT
Toán tử so sánh trong MySQL – So sánh bằng, lớn hơn, nhỏ hơn
0 0 Phiếu bình chọn
Xếp hạng bài viết
BÀI VIẾT LIÊN QUAN
Đăng ký nhận thông báo
Thông báo email khi
guest
0 Bình luận
Không thể gửi email
Phản hồi nội tuyến

NÊN ĐỌC THÊM

Bạn muốn tìm kiếm gì?

Dịch vụ code thuê

TUICOCACH.COM NHẬN ĐẶT TEXTLINK, BANNER, GP
0
Giáo sư! có thể ném gạch bên dưới nhé!x