Trong MySQL, các câu lệnh tình huống được sử dụng để triển khai logic if-else. Chúng ta sẽ hiểu cách sử dụng các câu lệnh tình huống bằng cách tạo các loại tình huống khác nhau, nhưng trước khi bắt đầu, hãy mở MySQL trong terminal của Ubuntu
$ sudo mysql
Mở một bảng cụ thể trong bất kỳ cơ sở dữ liệu nào và hiển thị danh sách cơ sở dữ liệu
HIỂN THỊ CƠ SỞ DỮ LIỆU ;
Mở cơ sở dữ liệu “shopping_mart_data”
SỬ DỤNG shopping_mart_data;
Để liệt kê tất cả các bảng có trong cơ sở dữ liệu này
HIỂN THỊ BẢNG ;
Mở bảng Grocery_bill và xem nội dung của nó
CHỌN * TỪ Grocery_bill;
Bây giờ chúng ta sẽ hiểu việc sử dụng các câu lệnh tình huống bằng cách áp dụng các trường hợp khác nhau vào bảng này
Cách sử dụng câu lệnh case trong MySQL
Chúng ta có thể sử dụng các báo cáo trường hợp để tiến hành bất kỳ loại khảo sát nào. Giả sử chúng ta muốn thực hiện một cuộc khảo sát rằng nhiều khách hàng thích ăn rau. Trên cơ sở mua rau, chúng tôi chỉ đơn giản đưa ra trường hợp rằng những người mua rau nên được gọi là người ăn chay. Với mục đích này, chúng tôi tạo ra một trường hợp như thế này
CHỌN Tên khách hàng , Rau củ ,
CASE
WHEN Vegetables > 0 THEN "Customer is a vegetarian"
ELSE "Customer is a non-vegetarian"
END
FROM Grocery_bill;
Chúng tôi sẽ lưu mã trong tệp, tệp được đặt tên. sql
Bây giờ hãy đăng nhập vào MySQL và mở tệp. sql bằng lệnh nguồn
$ nguồn . sql
Ở phần xuất này ta thấy nó đã hiện ra kết quả khách hàng với tên khách hàng, số lượng rau, và kèm theo kết quả trường hợp đã tạo xem họ có ăn chay hay không
Nếu chúng ta kết thúc tình huống này và tạo một cú pháp chung của trường hợp có thể được sử dụng trong các tình huống liên quan đến tình huống đã thảo luận ở trên thì nó sẽ giống như
CHỌN Tham số , [NẾU USING more than one parameter THEN used comma BETWEEN them]
CASE
WHEN [condition] THEN [action]
ELSE [action]
END
FROM [TABLE_NAME];
Chúng ta có thể biểu diễn các giá trị biểu thị của các bảng bằng cách sử dụng các câu lệnh tình huống. Ví dụ: chúng ta có một cột giới tính trong bảng có các giá trị là “m” và “f” lần lượt biểu thị giới tính nam và nữ. Để thay đổi các chữ cái này thành tên thực thay vì ký hiệu bằng cách sử dụng các câu lệnh case, chúng ta có thể thực thi đoạn mã sau
CHỌN Tên khách hàng , Giới tính ,
CASE Gender
WHEN 'M' THEN 'Male'
WHEN 'F' THEN 'Female'
END
FROM Grocery_bill;
Sửa đổi trong một bảng bằng cách sử dụng báo cáo trường hợp
Chúng ta cũng có thể sửa đổi giá trị của các cột trong bảng bằng cách sử dụng các câu lệnh tình huống. Để hiểu nó, chúng tôi sẽ sửa đổi bảng và sẽ thay thế các ký hiệu được sử dụng trong cột 'Giới tính' bằng các từ thực tế của chúng có nghĩa là "Nam" và "Nữ" thay vì "M" và "F". cho mục đích này, mã sẽ là
CẬP NHẬT Grocery_bill
SET Giới tính = CASE Gender
WHEN 'M' THEN 'Male'
WHEN 'F' THEN 'Female'
END;
Để xem sự thay đổi của bảng ta sẽ hiển thị bảng bằng lệnh
CHỌN * TỪ Grocery_bill;
Đầu ra sẽ hiển thị bảng với các thay đổi trong cột Giới tính
Câu lệnh CASE với toán tử so sánh
Chúng ta cũng có thể sử dụng các câu lệnh tình huống cho mục đích so sánh bằng cách sử dụng các toán tử. Để hiểu điều này, hãy giả sử rằng chúng ta muốn tặng phiếu giảm giá cho những khách hàng mua sắm hơn 12 mặt hàng. Hãy viết mã cho nó
CHỌN Tên khách hàng ,
Trường hợp
KHI Chips + SoftDrinks + Vegetables > 12 THEN "Congrats you won a voucher"
ELSE "Sorry, Try next time"
END
FROM Grocery_bill;
Phần kết luận
Các câu lệnh tình huống giúp chúng tôi rất nhiều trong việc truy xuất các kết quả cụ thể từ một bảng, bao gồm một số lượng lớn các mục, chúng tôi chỉ cần tạo trường hợp và kết quả có thể được sắp xếp trên cơ sở các điều kiện cụ thể của trường hợp. Mặc dù có một số hạn chế khi sử dụng các câu lệnh tình huống như các câu lệnh tình huống không được sử dụng để kiểm tra các giá trị NULL của bảng và tương tự, đó là một mô hình tuần tự có nghĩa là nếu trường hợp trở thành sự thật thì nó sẽ không thực hiện các điều kiện tiếp theo và sẽ kết thúc trường hợp đó. Mặc dù các câu lệnh tình huống giúp dễ dàng viết các mã khác nhau của T-SQL [Transact – SQL] cho DML [Ngôn ngữ thao tác dữ liệu]. Trong bài viết này, chúng tôi đã cố gắng giải thích việc sử dụng các câu lệnh tình huống bằng cách xem xét các tình huống khác nhau và áp dụng các câu lệnh tình huống cho chúng để dễ hiểu các câu lệnh tình huống trong MySQL