sql中case when怎样写,举个例子
时间: 2024-07-03 21:01:28 浏览: 106
`CASE WHEN` 是 SQL 中的一个条件表达式,用于根据特定条件返回不同的值。它通常用于 `SELECT` 语句中,对数据进行条件判断和转换。下面是一个基本的 `CASE WHEN` 语法和示例:
```sql
CASE
WHEN condition THEN result_if_true
ELSE result_if_false
END
```
- `condition` 是你想要测试的表达式或子句。
- `result_if_true` 是当条件为真时返回的结果。
- `result_if_false`(可选)是当条件为假时返回的结果,如果省略,则默认为 NULL。
例如,假设我们有一个员工表(Employees),我们想根据他们的薪水(Salary)计算是否为高级员工(High_Employee)。如果薪水大于5000,那么他们就是高级员工,否则不是:
```sql
SELECT
Employee_ID,
Name,
Salary,
CASE
WHEN Salary > 5000 THEN 'High_Employee'
ELSE 'Low_Employee'
END AS Employment_Level
FROM Employees;
```
在这个查询中,如果某个员工的薪水大于5000,`Employment_Level` 列将显示 'High_Employee',否则显示 'Low_Employee'。
相关问题
sql语言case when举个例子
SQL语言中的CASE WHEN语句是一种条件表达式,用于根据指定的条件返回不同的值或执行不同的操作。它在处理数据时非常有用,特别是在进行条件筛选、转换或计算时。
下面是一个简单的例子:
```sql
SELECT
column_name,
CASE
WHEN condition THEN 'Value_if_True'
ELSE 'Value_if_False'
END AS result_column
FROM table_name;
```
在这个例子中,`column_name`是你想检查的表列,`condition`是判断的条件,如果`condition`为真(非零、非空或满足特定逻辑),则返回`'Value_if_True'`;否则,返回`'Value_if_False'`。`result_column`是你新创建的结果列,显示根据条件应用的不同结果。
例如,如果你想将年龄分为“成人”和“儿童”,你可以这样做:
```sql
SELECT
age,
CASE
WHEN age >= 18 THEN 'Adult'
ELSE 'Child'
END AS age_group
FROM users;
```
举一个sql中使用case的例子
当使用CASE语句时,可以根据条件执行不同的操作或返回不同的值。以下是一个SQL中使用CASE语句的示例:
假设我们有一个名为"employees"的表,其中包含员工的姓名、薪水和职位等信息。我们想根据员工的薪水水平将他们分为高收入和低收入两个组别。可以使用CASE语句来实现这一需求:
```sql
SELECT
name,
salary,
CASE
WHEN salary >= 5000 THEN '高收入'
WHEN salary >= 3000 THEN '中等收入'
ELSE '低收入'
END AS income_level
FROM employees;
```
在这个例子中,我们使用CASE语句创建了一个名为"income_level"的新列。根据员工的薪水,我们根据不同的条件返回不同的值。如果薪水大于等于5000,将返回'高收入';如果薪水大于等于3000,将返回'中等收入';否则,返回'低收入'。
通过这个例子,您可以看到CASE语句在根据条件进行数据转换或分类时非常有用。您可以根据自己的需求调整条件和返回的值。
阅读全文