mysql+case
时间: 2023-11-24 17:52:46 浏览: 114
MySQL中的CASE语句是一种条件表达式,类似于if/else语句。它可以在SELECT、UPDATE和DELETE语句中使用,用于根据条件返回不同的值。下面是一个使用CASE语句的示例:
假设我们有一个名为students的表,其中包含学生的姓名和分数。我们想要根据学生的分数将他们分为三个等级:优秀、良好和及格。可以使用以下查询:
```mysql
SELECT name, score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM students;
```
上述查询将返回一个结果集,其中包含每个学生的姓名、分数和等级。在查询中,我们使用了CASE语句来根据学生的分数返回不同的等级。如果分数大于等于90,则返回“优秀”,如果分数大于等于80,则返回“良好”,如果分数大于等于60,则返回“及格”,否则返回“不及格”。
相关问题
mysqlcase+when+用法
MySQL中的CASE WHEN语句是一种流程控制语句,它允许根据条件执行不同的操作。它的基本语法如下:
```
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
```
其中,expression是要比较的表达式,value1、value2等是expression可能的取值,result1、result2等是对应的结果。如果expression等于value1,则返回result1,如果expression等于value2,则返回result2,以此类推。如果expression不等于任何value,则返回ELSE后的result。
下面是一个例子,假设我们有一个学生成绩表,需要将成绩按照一定的规则进行分类:
```
SELECT
name,
score,
CASE
WHEN score >= 90 THEN '优秀'
WHEN score >= 80 THEN '良好'
WHEN score >= 60 THEN '及格'
ELSE '不及格'
END AS grade
FROM
student;
```
在这个例子中,我们使用了CASE WHEN语句将成绩按照90分以上、80分以上、60分以上和60分以下四个等级进行分类,并将结果保存在grade列中。
mysql中case
在MySQL中,CASE语句是一种条件表达式,用于在查询中根据不同的条件执行不同的操作。它可以在SELECT语句中使用,也可以在UPDATE和DELETE语句中使用。
下面是一个简单的示例,演示了如何在SELECT语句中使用CASE语句:
```sql
SELECT column_name,
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END
FROM table_name;
```
在上面的示例中,column_name是要选择的列名,condition1和condition2是条件表达式,result1和result2是对应条件为真时返回的结果,result3是当所有条件都不满足时返回的结果。
以下是一个更具体的例子,假设我们有一个名为students的表,其中包含学生的姓名和分数,我们想根据分数判断学生成绩等级:
```sql
SELECT name,
CASE
WHEN score >= 90 THEN 'A'
WHEN score >= 80 THEN 'B'
WHEN score >= 70 THEN 'C'
WHEN score >= 60 THEN 'D'
ELSE 'F'
END AS grade
FROM students;
```
在上面的例子中,根据学生的分数判断其成绩等级,并将结果作为"grade"别名返回。
CASE语句还可以在UPDATE和DELETE语句中使用,用于根据条件更新或删除数据。例如:
```sql
UPDATE table_name
SET column_name = CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END
WHERE condition;
DELETE FROM table_name
WHERE column_name = CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
ELSE result3
END;
```
希望以上示例能够帮助您理解MySQL中的CASE语句。如果您有任何进一步的问题,请随时提问。
阅读全文