Là trường hợp MySQL

MySQL CASE là một từ khóa truy vấn Câu lệnh MySQL xác định cách xử lý các khái niệm vòng lặp để thực thi tập hợp các điều kiện và trả về trường hợp khớp bằng cách sử dụng IF ELSE. CASE trong MySQL là một loại câu lệnh kiểm soát xác thực tập hợp các trường hợp có điều kiện và hiển thị giá trị khi trường hợp đầu tiên đáp ứng giá trị khác và thoát khỏi vòng lặp. Nếu không tìm thấy trường hợp nào TRUE và câu lệnh không có phần hoặc giá trị ELSE, thì CASE trả về NULL. Về cơ bản, câu lệnh CASE cũng giống như câu lệnh lặp logic IF THEN ELSE. Khi chạy trên máy chủ MySQL, nó sẽ đọc các biểu thức điều kiện và khi trường hợp biểu thức được khớp và nit hiển thị kết quả. Sau đó, nó dừng thực thi thêm

Cú pháp câu lệnh CASE của MySQL

Cú pháp dưới đây xác định cấu trúc truy vấn SQL của câu lệnh CASE

Bắt đầu khóa học khoa học dữ liệu miễn phí của bạn

Hadoop, Khoa học dữ liệu, Thống kê và những thứ khác

CASE
WHEN cond1 THEN value1
WHEN cond2 THEN value2
WHEN condN THEN valueN
ELSE value
END;

Gói khoa học dữ liệu tất cả trong một(360+ khóa học, hơn 50 dự án)

Là trường hợp MySQL
Là trường hợp MySQL
Là trường hợp MySQL
Là trường hợp MySQL

Là trường hợp MySQL
Là trường hợp MySQL
Là trường hợp MySQL
Là trường hợp MySQL

Giá
Xem khóa học

360+ Khóa học trực tuyến. hơn 50 dự án. Hơn 1500 giờ. Giấy chứng nhận có thể kiểm chứng. Truy cập Trọn đời
4. 7 (83.723 xếp hạng)

Hãy để chúng tôi thảo luận về các tham số được đưa ra trong cú pháp trên

  • Điều kiện1, điều kiện2,…. , điều kiện. Biểu thị các điều kiện cần thiết để được đánh giá trong danh sách các câu lệnh CASE
  • Giá trị1, giá trị2,…. ,giá trịN. Đại diện cho các giá trị tương ứng cần thiết để hiển thị khi một điều kiện được đáp ứng
  • Giá trị. Biểu thị giá trị sẽ được hiển thị khi phần khác đang đáp ứng

Phần này cho phép thêm các câu lệnh CASE logic trong một truy vấn trong MySQL. Để tạo một câu lệnh hợp lệ, chúng ta sử dụng câu lệnh CASE ở bất cứ đâu với các mệnh đề như WHERE SELECT và ORDER BY. Bạn có thể đánh giá thông qua cú pháp hiển thị bên dưới

SELECT column1,column2,
CASE
WHEN cond1 THEN value1
WHEN cond2 THEN value2
WHEN condN THEN valueN
ELSE value
END
FROM TableName;

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

Câu lệnh CASE chứa hai thủ tục. một là TRƯỜNG HỢP ĐƠN GIẢN và một là TRƯỜNG HỢP Tìm kiếm. Chúng tôi sử dụng câu lệnh CASE để cung cấp các giá trị kết quả dựa trên điều kiện phù hợp bằng cách sử dụng phương thức kiểm soát logic cho các truy vấn SQL cùng với các mệnh đề SQL như SELECT, WHERE và ORDER BY

Giả sử, câu truy vấn sau giải thích phần logic CASE mà chúng ta đã đề cập đến một bảng như Học sinh với các trường Tên học sinh, Bang, Thành phố, thì câu truy vấn sẽ được viết là

SELECT StudentName, State, City FROM Students ORDER BY (
CASE
WHEN State IS NULL THEN City
ELSE State
END);

Từ đây, chúng ta sẽ biết rằng khi chúng ta đã áp dụng câu lệnh CASE trong truy vấn SELECT để lấy giá trị cụ thể thỏa mãn một điều kiện trường hợp cụ thể. Trong hình minh họa ở trên, chúng tôi đã đặt câu lệnh CASE trên các cột Bang và Thành phố trong đó nếu cột Bang chứa giá trị NULL thì truy vấn sẽ hiển thị giá trị cột Thành phố và nếu câu lệnh case không hợp lệ hoặc nếu không tìm thấy giá trị thì phần giá trị khác i. e. Giá trị cột trạng thái được trả về. Ở đây, chúng tôi đã tìm nạp tên của sinh viên, tiểu bang và thành phố nơi CASE được áp dụng với mệnh đề ORDER BY cũng để sắp xếp các hàng kết quả

Trong CASE đơn giản, CASE giá trị cột được so khớp với giá trị câu lệnh điều kiện trong các mệnh đề WHEN cho tương đương và sau đó, tạo ra giá trị kết quả sau hơn một trong cú pháp. Nhưng nếu không có giá trị nào bằng nhau thì nó sẽ trả về giá trị phần KHÁC nếu được cung cấp

Bạn không nên sử dụng NULL trong giá trị mệnh đề WHEN vì nếu được thực thi, phần logic sẽ là NULL = NULL, kết quả là FALSE

Bây giờ đối với CASE tìm kiếm, nó tuân theo quy trình logic tương tự như CASE đơn giản nhưng một phần của trường hợp tìm kiếm làm cho nó khác khi thực hiện. Ở đây, TRƯỜNG HỢP thỏa mãn kết quả giá trị có Kiểu dữ liệu MySQL dựa trên ngữ cảnh mà nó được sử dụng cho. Ví dụ, nếu có ngữ cảnh chuỗi ký tự được sử dụng trong câu lệnh thì giá trị kết quả sẽ ở cùng kiểu dữ liệu, chuỗi. Ngoài ra, nếu biểu thức điều kiện CASE sử dụng ngữ cảnh số thì giá trị được trả về sẽ ở dạng dữ liệu số nguyên, thập phân hoặc giá trị thực

Các ví dụ để triển khai Câu lệnh CASE của MySQL

Sau đây là các ví dụ về câu lệnh CASE có đầu ra

Ví dụ #1 – Câu lệnh CASE với Mệnh đề SELECT và ORDER BY

Hãy để chúng tôi thực hiện truy vấn SQL ở trên và hiển thị kết quả khi thực hiện phần CASE. Đối với điều này, chúng ta cần tạo một bảng Học sinh và cũng chèn một số giá trị

1. Tạo bảng

CREATE TABLE Students(StudentIDint, StudentNamevarchar(255), State varchar(255), City varchar(255) );

2. Chèn ít trường

INSERT INTO Students (StudentID, StudentName, State, City) VALUES ('01', 'Vedika', 'UP', 'Kanpur');

Và như thế

3. Câu lệnh CHỌN để hiển thị dữ liệu bảng

Truy vấn

SELECT * FROM Students;

đầu ra

Là trường hợp MySQL

4. Câu lệnh CASE với Truy vấn CHỌN

Truy vấn

SELECT StudentName, State, City FROM Students ORDER BY (
CASE
WHEN State IS NULL THEN City
ELSE State
END);

đầu ra

Là trường hợp MySQL

Ví dụ #2 – Câu lệnh CASE với Hàm tổng hợp

Chúng ta sẽ tính tổng doanh số bán hàng từ bảng Đơn hàng theo trạng thái đơn hàng bằng cách sử dụng câu lệnh CASE cùng với hàm SUM() MySQL

1. Tạo bảng

Truy vấn

CREATE TABLE Orders (OrderIDint,SalesIDint, OrderStatusvarchar(255) );

2. Chèn một vài trường

Truy vấn

________số 8

Và như thế

3. Câu lệnh SELECT để hiển thị Dữ liệu Bảng

Truy vấn

SELECT * FROM Orders;

đầu ra

Là trường hợp MySQL

3. Câu lệnh CASE với hàm SUM() và COUNT dưới dạng hàm tổng hợp trong truy vấn SQL SELECT

Truy vấn

SELECT column1,column2,
CASE
WHEN cond1 THEN value1
WHEN cond2 THEN value2
WHEN condN THEN valueN
ELSE value
END
FROM TableName;
0

đầu ra

Là trường hợp MySQL

Giải trình. Trong truy vấn trên, trước tiên, các câu lệnh CASE thực thi và trả về 1 khi trường hợp khớp với Trạng thái đơn hàng tương ứng như Thành công, Đang tiến hành, Đã giao, Đã hủy, Đang chờ và nếu không thì bằng 0. Thứ hai, sau này hàm Sum() có tác dụng tìm tổng số đơn hàng theo trạng thái đơn hàng

Phần kết luận

  • Câu lệnh CASE của MySQL cho phép thực thi logic IF ELSE đối với các truy vấn SQL để kiểm tra các câu lệnh có điều kiện và tìm nạp các tập kết quả hoặc giá trị được yêu cầu từ các bảng cơ sở dữ liệu
  • Chúng ta chỉ có thể sử dụng câu lệnh CASE với thủ tục được lưu trữ, sự kiện được lưu trữ, chức năng và trình kích hoạt. Nó được sử dụng để so sánh biểu thức điều kiện với một dải giá trị riêng biệt cung cấp kết quả tương ứng chứa loại dữ liệu phụ thuộc vào ngữ cảnh được sử dụng trong truy vấn
  • Do đó, chúng ta có thể nói rằng câu lệnh CASE trong MySQL làm cho mã truy vấn hiệu quả hơn và dễ đọc hơn

Bài viết được đề xuất

Đây là hướng dẫn về Câu lệnh CASE của MySQL. Ở đây chúng ta thảo luận về Giới thiệu Câu lệnh CASE của MySQL và các ví dụ thực tế cũng như các biểu thức truy vấn con khác nhau. Bạn cũng có thể xem qua các bài viết được đề xuất của chúng tôi để tìm hiểu thêm –

MySQL có trường hợp sử dụng không?

Trường hợp sử dụng chính của MySQL là phát triển các ứng dụng web, các dự án chứng minh khái niệm với thu thập dữ liệu, thao tác dữ liệu và báo cáo dữ liệu trên cả nền tảng Windows và Linux .

giống như trường hợp

Khi tìm kiếm một phần chuỗi trong MySQL bằng LIKE bạn sẽ khớp phân biệt chữ hoa chữ thường theo mặc định *. Nếu bạn muốn khớp phân biệt chữ hoa chữ thường, bạn có thể truyền giá trị dưới dạng nhị phân và sau đó thực hiện so sánh từng byte với. so sánh từng ký tự.

Là trường hợp tên cột MySQL

Tên cột, chỉ mục, quy trình được lưu trữ và tên sự kiện không phân biệt chữ hoa chữ thường trên bất kỳ nền tảng nào , cũng như bí danh cột. Tuy nhiên, tên của các nhóm logfile phân biệt chữ hoa chữ thường. Điều này khác với SQL tiêu chuẩn.

Làm thế nào để viết điều kiện trường hợp trong MySQL?

Câu lệnh CASE duyệt qua các điều kiện và trả về giá trị khi điều kiện đầu tiên được đáp ứng (giống như câu lệnh IF-THEN-ELSE). Vì vậy, khi một điều kiện là đúng, nó sẽ ngừng đọc và trả về kết quả. Nếu không có điều kiện nào đúng, nó sẽ trả về giá trị trong mệnh đề ELSE