sql,case when 用法
时间: 2024-07-26 10:01:32 浏览: 82
`CASE WHEN` 是 SQL 中的一种条件表达式,用于创建更复杂的查询结果,它可以根据指定的条件返回不同的值。基本语法如下:
```sql
CASE
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
[ ELSE default_result ]
END
```
- `condition_1`, `condition_2`: 这些是你要判断的条件,如果条件成立,就会执行对应的 `result_1` 或 `result_2`。
- `result_1` 和 `result_2`: 分别是当条件为真时返回的值,可以是常量、字段或另一个 CASE 子句。
- `ELSE`: 可选,如果所有 `WHEN` 条件都不满足,则会执行这个默认的结果。
例如,如果你想根据不同条件给员工评分等级,你可以这样做:
```sql
SELECT
employee_id,
CASE
WHEN salary > 5000 THEN '高级'
WHEN salary BETWEEN 3000 AND 5000 THEN '中级'
ELSE '初级'
END AS salary_level
FROM employees;
```
这里,如果员工薪水大于5000,他们的等级会被标记为“高级”,如果在3000到5000之间则为“中级”,否则为“初级”。
相关问题
sqlcase when用法
SQL中的`CASE`语句用于在查询中实现逻辑分支。`CASE`语句有两种格式:简单格式和搜索格式。其中,`CASE WHEN`用法属于搜索格式,可以根据不同的条件返回不同的结果。具体语法如下:
```sql
CASE WHEN condition1 THEN result1
[ WHEN condition2 THEN result2 ]
...
[ ELSE resultN ]
END
```
这个语句的意思是:如果`condition1`为真,则返回`result1`,如果`condition2`为真,则返回`result2`,依此类推。如果所有的条件都不满足,则返回`resultN`(如果有指定`ELSE`部分的话)。如果没有`ELSE`部分且没有条件满足,则返回NULL。
下面是一个具体的例子:
```sql
SELECT
employee_id,
name,
salary,
CASE WHEN salary < 3000 THEN '低'
WHEN salary BETWEEN 3000 AND 5000 THEN '中'
WHEN salary > 5000 THEN '高'
END AS salary_level
FROM employees;
```
这个查询会返回每个员工的ID、姓名和薪水,并且会基于薪水的多少给每位员工的薪水水平做一个分类。
sql case when 用法
SQL中的CASE WHEN语句是一种表达式,用于根据不同的条件执行不同的操作。它可以在SELECT、UPDATE和DELETE语句中使用。
CASE WHEN语句的基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件满足时的结果。ELSE子句是可选的,用于指定当所有条件都不满足时的默认结果。
下面是一个例子,展示了CASE WHEN语句的用法:
```
SELECT
column1,
column2,
CASE
WHEN column3 > 10 THEN 'High'
WHEN column3 > 5 THEN 'Medium'
ELSE 'Low'
END AS priority
FROM
table_name;
```
在上述例子中,根据column3的值,将priority列设置为'High'、'Medium'或'Low'。
阅读全文
相关推荐












