Share Lấy dữ liệu theo điều kiện với mệnh đề CASE trong SQL

filiallion

Administrator
Staff member
Administrator
Messages
585
Points
10
Language
Tiếng Việt
Trong SQL, để lấy dữ liệu theo điều kiện nào đó thì các bạn có thể sử dụng WHERE nhưng nếu các bạn cần lấy dữ liệu mà ở một hoặc nhiều cột nào đó cần phải kiểm tra một hoặc nhiều điều kiện rẻ nhánh thì phải làm sao? Trong SQL các bạn có thể sử dụng mệnh đề CASE để thực hiện kiểm tra điều kiện rẻ nhánh.

Các bạn có thể sử dụng mệnh đề CASE theo cấu trúc sau:
Code:
CASE
    WHEN Điều_kiện_1 THEN Giá_trị_1
    WHEN Điều_kiện_2 THEN Giá_trị_2
    ELSE Giá_trị_khác
END
Với cấu trúc trên, nếu điều kiện đầu tiên là đúng thì giá trị đầu tiên sẽ được trả về và kết thúc mệnh đề CASE, trường hợp điều kiện đầu tiên không đúng thì các điều kiện tiếp theo sẽ được kiểm tra cho đến khi nào có một điều kiện đúng thì mới kết thúc. Trong trường hợp không có điều kiện nào đúng thì giá trị ở ELSE sẽ được trả về, còn nếu mệnh đề CASE không có ELSE thì nó sẽ trả về giá trị null. Các bạn tham khảo ví dụ sau:
SQL:
SELECT fullname,
    (CASE gender
        WHEN 0 THEN 'Female'
        WHEN 1 THEN 'Male'
        ELSE 'Other'
    END) AS g
FROM tbl_user
Mệnh đề điều kiện CASE rất hữu ích trong các truy vấn có kèm điều kiện đi kèm bởi tính linh động mà nó mang lại giúp ích rất nhiều cho các bạn lập trình viên. Các bạn có thể tìm hiểu thêm về mệnh đề CASE trong SQL tại địa chỉ https://www.w3schools.com/sql/sql_case.asp.
 
Back
Top