Để chọn các giá trị khác nhau trên cơ sở điều kiện, hãy sử dụng câu lệnh CASE. Đầu tiên chúng ta hãy tạo một bảng -
mysql> tạo bảng DemoTable (Id int NOT NULL AUTO_INCREMENT PRIMARY KEY, Name varchar (40), Score int); Truy vấn OK, 0 hàng bị ảnh hưởng (0,54 giây)
Chèn một số bản ghi vào bảng bằng lệnh chèn -
mysql> chèn vào giá trị DemoTable (Tên, Điểm) ('Chris', 45); Truy vấn OK, 1 hàng bị ảnh hưởng (0,24 giây) mysql> chèn vào giá trị DemoTable (Tên, Điểm) ('David', 68); Truy vấn OK, 1 hàng bị ảnh hưởng (0,14 giây) mysql> chèn vào các giá trị DemoTable (Tên, Điểm) ('Robert', 89); Truy vấn OK, 1 hàng bị ảnh hưởng (0,15 giây) mysql> chèn vào DemoTable (Tên, Điểm) giá trị ('Bob', 34); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào giá trị DemoTable (Tên, Điểm) ('Sam', 66); Truy vấn OK, 1 hàng bị ảnh hưởng (0,22 giây)Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -
mysql> select * từ DemoTable;Điều này sẽ tạo ra kết quả sau -
+ ---- + -------- + ------- + | Id | Tên | Điểm | + ---- + -------- + ------- + | 1 | Chris | 45 || 2 | David | 68 || 3 | Robert | 89 || 4 | Bob | 34 || 5 | Sam | 66 | + ---- + -------- + ------- + 5 hàng trong bộ (0,00 giây)Sau đây là truy vấn để chọn các giá trị khác nhau từ cùng một cột -
mysql> chọn Điểm, trường hợp Điểm <40 thì Điểm kết thúc là 'Điểm dưới 40', trường hợp Điểm từ 60 đến 70 thì Điểm kết thúc là 'Điểm từ 60 đến 70', trường hợp Điểm> 80 thì Điểm kết thúc là 'Điểm lớn hơn 80' từ DemoTable;Điều này sẽ tạo ra kết quả sau -
+ ------- + -------------------- + ----------------- --------- + ----------------------- + | Điểm | Điểm dưới 40 | Điểm Từ 60 đến 70 | Điểm lớn hơn 80 | + ------- + -------------------- + --------------- ----------- + ----------------------- + | 45 | NULL | NULL | NULL || 68 | NULL | 68 | NULL || 89 | NULL | NULL | 89 || 34 | 34 | NULL | NULL || 66 | NULL | 66 | NULL | + ------- + -------------------- + ------------------ -------- + ----------------------- + 5 hàng được thiết lập, 1 cảnh báo (0,03 giây)