Mẹo Hướng dẫn Hướng dẫn case when mysql 2022
Pro đang tìm kiếm từ khóa Hướng dẫn case when mysql được Update vào lúc : 2022-09-17 05:00:32 . Với phương châm chia sẻ Bí kíp Hướng dẫn trong nội dung bài viết một cách Chi Tiết 2022. Nếu sau khi Read Post vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Admin lý giải và hướng dẫn lại nha.
Tìm hiểu lệnh CASE trong MySQL
1) Chức năng & cách sử dụng
– Trong hệ quản trị cơ sở tài liệu MySQL, lệnh CASE được sử dụng để tạo ra những giá trị rất khác nhau nhờ vào những Đk rất khác nhau.
Nội dung chính
- Tìm hiểu lệnh CASE trong MySQL
- 1) Chức năng & cách sử dụng
- 2) Tham khảo một số trong những ví dụ
- Đào sâu hơn
– Dưới đấy là cú pháp sử dụng lệnh CASE:
CASE WHEN condition1 THEN result1; WHEN condition2 THEN result2; WHEN conditionN THEN resultN; ELSE result;
END
– Khi lệnh CASE được thực thi, nó sẽ kiểm tra lần lượt những Đk (theo thứ tự từ trên xuống), nếu phát hiện được Đk đúng thì nó sẽ kết thúc việc kiểm tra & trả về giá trị nằm tại Đk đó.
– Lưu ý:
- Nếu không còn Đk nào đúng thì lệnh CASE sẽ trả về giá trị tại mệnh đề ELSE.
- Nếu không còn Đk nào đúng & không còn mệnh đề ELSE thì lệnh CASE sẽ trả về giá trị NULL.
2) Tham khảo một số trong những ví dụ
– Trong bài học kinh nghiệm tay nghề này, tôi sẽ sử dụng cái bảng Student như phía dưới để làm một số trong những ví dụ minh họa.
ID
FullName
Gender
Age
City
1
Nguyễn Thành Nhân
Nam
22
Cần Thơ
2
Dương Văn Gánh
Nam
19
Sóc Trăng
3
Trần Thanh Trúc
Nữ
27
Hải Phòng Đất Cảng
4
Châu Tinh Trì
Nam
20
Cần Thơ
5
Lê Thị Huỳnh Như
Nữ
24
Bạc Liêu
6
Tì Sa Môn Thiên
Nam
21
Hậu Giang
7
Doãn Chí Bình
Nam
26
Cần Thơ
8
Phạm Thị Thu Hiền
Nữ
18
Vĩnh Long
– Liệt kê tên, tuổi, nhóm tuổi của toàn bộ những sinh viên.
- Nếu sinh viên có tuổi to nhiều hơn 20 thì nhóm độ tuổi sẽ ghi là “Lớn hơn 20 tuổi”
- Nếu sinh viên có tuổi bằng 20 thì nhóm độ tuổi sẽ ghi là “Bằng 20 tuổi”
- Nếu sinh viên có tuổi nằm ngoài hai trường hợp trên thì nhóm độ tuổi sẽ ghi là “Nhỏ hơn 20 tuổi”
SELECT FullName, Age,
CASE
WHEN Age > 20 THEN “Lớn hơn 20 tuổi”
WHEN Age = 20 THEN “Bằng 20 tuổi”
ELSE “Nhỏ hơn 20 tuổi”
END AS AgeGroup
FROM Student;
– Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng tài liệu như phía dưới:
FullName
Age
AgeGroup
Nguyễn Thành Nhân
22
Lớn hơn 20 tuổi
Dương Văn Gánh
19
Nhỏ hơn 20 tuổi
Trần Thanh Trúc
27
Lớn hơn 20 tuổi
Châu Tinh Trì
20
Bằng 20 tuổi
Lê Thị Huỳnh Như
24
Lớn hơn 20 tuổi
Tì Sa Môn Thiên
21
Lớn hơn 20 tuổi
Doãn Chí Bình
26
Lớn hơn 20 tuổi
Phạm Thị Thu Hiền
18
Nhỏ hơn 20 tuổi
– Liệt kê thông tin của toàn bộ những sinh viên.
– Lưu ý: Nếu biểu thức (4 + 10) > 15 là đúng thì sắp xếp thứ tự những sinh viên theo độ tuổi, còn nếu sai thì sắp xếp thứ tự những sinh viên theo giới tính.
SELECT *
FROM Student
ORDER BY
(CASE
WHEN (4+10) > 15 THEN Age
ELSE Gender
END);
– Sau khi thực thi câu lệnh phía trên thì tôi sẽ lấy được một bảng tài liệu như phía dưới:
ID
FullName
Gender
Age
City
1
Nguyễn Thành Nhân
Nam
22
Cần Thơ
2
Dương Văn Gánh
Nam
19
Sóc Trăng
4
Châu Tinh Trì
Nam
20
Cần Thơ
6
Tì Sa Môn Thiên
Nam
21
Hậu Giang
7
Doãn Chí Bình
Nam
26
Cần Thơ
3
Trần Thanh Trúc
Nữ
27
Hải Phòng Đất Cảng
5
Lê Thị Huỳnh Như
Nữ
24
Bạc Liêu
8
Phạm Thị Thu Hiền
Nữ
18
Vĩnh Long
Bài viết được sự được cho phép của tác giả Nguyễn Văn Minh
Bạn đã bao giờ tự hỏi: Trong MySQL, câu lệnh CASE, câu lệnh IF và hàm IF rất khác nhau thế nào? Bạn có thấy phân vân khi chọn một trong ba thứ trên để viết query? Đây không phải vướng mắc mới nhưng nhiều bạn sẽ kinh ngạc khi tiếp xúc với nó. Nhất là lúc bạn vừa khởi đầu tìm hiểu về MySQL và cơ sở tài liệu quan hệ.
Nếu bạn muốn tìm hiểu cơ sở tài liệu là gì và có những loại nào, hãy
tìm hiểu thêm nội dung bài viết này.
Cú pháp
Câu lệnh CASE
CASE value WHEN [compare_value] THEN result [WHEN [compare_value] THEN result …] [ELSE result] ENDCASE WHEN [condition] THEN result [WHEN [condition] THEN result …] [ELSE result] END
Câu lệnh IF
IF condition1 THEN
…statements to execute when condition1 is TRUE…
[ ELSEIF condition2 THEN
…statements to execute when condition1 is FALSE and condition2 is TRUE… ]
[ ELSE
…statements to execute when both condition1 and condition2 are FALSE… ]
END IF;
Hàm
IF
IF(expr1,expr2,expr3)
Đào sâu hơn
Nhìn vào cú pháp trên đây, ta hoàn toàn có thể thấy, dường như hàm IF ít linh hoạt hơn câu lệnh CASE. Nếu bạn viết thế này:
SELECT IF(movie=”The Matrix”, ‘high’, ‘low’) AS suggestion
Thì bạn hoàn toàn hoàn toàn có thể dùng CASE như vậy này:
SELECT CASE WHEN movie=”The Matrix” THEN ‘high’ ELSE ‘low’ END AS suggestion
Khá là giống nhau đúng không ạ? Trừ việc hàm IF trông ngăn nắp hơn chút ít. Nhưng nếu có nhiều hơn nữa hai nhánh thì sao? Có lẽ bạn sẽ không còn thích viết thế này:
SELECT IF(movie=”The Matrix”, ‘high’, IF(movie=”Endgame”, ‘medium’, ‘low’)) AS suggestion
Mà nên là thế này:
SELECT CASE movie
WHEN = ‘The Matrix’ THEN ‘high’
WHEN = ‘Endgame’ THEN ‘medium’
ELSE ‘low’
END AS suggestion
Nó cũng tương tự như khi ta dùng switch để rẽ
nhánh vậy, tự nhiên vào tự do hơn thật nhiều.
Có một điều bạn phải để ý quan tâm. Trong khi câu lệnh CASE là câu lệnh chuẩn của SQL thì hàm IF lại hoàn toàn không phải. Điều đó có nghĩa gì? Nếu bạn có ý định chuyển sang dùng SQL Server hay PostgreSQL ví dụ điển hình, hàm IF sẽ không còn hề hoạt động và sinh hoạt giải trí nữa.
Ở một diễn biến khác, câu lệnh IF là cái gì đó rất lạ lẫm với hai thứ trên. Nó được sử dụng khi viết thủ tục (procedure). Ví dụ:
CREATE FUNCTION get_suggestion (movie varchar(50))
RETURNS varchar(20)
BEGIN
IF movie=”The Matrix” THEN
return ‘high’;
ELSEIF movie=”Endgame” THEN
return ‘medium’;
ELSE
return ‘low’;
END IF;
END;
Do đó, không nên nhầm lẫn mục tiêu sử dụng của câu lệnh IF
với hàm IF, hay thậm chí còn câu lệnh CASE. Chúng sinh ra vì những “thiên chức” rất khác nhau.
Tải thêm tài liệu liên quan đến nội dung bài viết Hướng dẫn case when mysql
programming
mysql
SUM(CASE WHEN MySQL)
Lower_case_table_names
Reply
0
0
Chia sẻ
Chia Sẻ Link Down Hướng dẫn case when mysql miễn phí
Bạn vừa Read nội dung bài viết Với Một số hướng dẫn một cách rõ ràng hơn về Review Hướng dẫn case when mysql tiên tiến và phát triển nhất và Share Link Cập nhật Hướng dẫn case when mysql Free.
Giải đáp vướng mắc về Hướng dẫn case when mysql
Nếu sau khi đọc nội dung bài viết Hướng dẫn case when mysql vẫn chưa hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Tác giả lý giải và hướng dẫn lại nha
#Hướng #dẫn #case #mysql