SQl 中case when的用法
时间: 2024-01-25 11:13:01 浏览: 119
在SQL中,CASE WHEN语句用于根据条件执行不同的操作。它的基本语法如下:
```sql
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
```
其中,condition1、condition2等是条件表达式,result1、result2等是对应条件为真时的结果。ELSE子句是可选的,用于指定当所有条件都不满足时的默认结果。
下面是一个例子,演示了如何使用CASE WHEN语句:
```sql
SELECT
customer_name,
CASE
WHEN total_amount > 1000 THEN 'VIP'
WHEN total_amount > 500 THEN 'Gold'
ELSE 'Regular'
END AS customer_type
FROM
orders;
```
上述例子中,根据订单的总金额判断客户的类型,并将结果作为新的字段customer_type返回。
相关问题
sql server case when用法
SQL Server 中的 CASE 语句用于执行不同的操作,根据不同的条件。语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
WHEN condition3 THEN result3
ELSE result4
END
例如:
SELECT CASE WHEN age < 18 THEN 'Minor'
WHEN age >= 18 THEN 'Adult'
ELSE 'Unknown'
END
FROM Customers
这将会在每一行根据年龄条件返回'Minor','Adult' 或 'Unknown'。
sql语句case when用法
CASE WHEN 是 SQL 语言中的条件表达式,它可以用于 SELECT、WHERE 和 ORDER BY 等语句中,用于根据条件对结果进行控制。其基本语法如下:
```
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE default_result
END
```
其中,`condition1`、`condition2` 等是条件表达式,`result1`、`result2` 等是对应的结果表达式,`default_result` 是当所有条件都不满足时的默认结果。
下面通过一个简单的示例来说明 CASE WHEN 的用法。假设我们有一个员工表(employee),其中包含员工姓名(name)、所属部门(department)和薪水(salary)等字段。我们想要查询出每个部门的平均薪水,并按照薪水从高到低排序,可以使用如下语句:
```
SELECT
department,
AVG(salary) AS avg_salary,
CASE
WHEN AVG(salary) >= 5000 THEN '高薪部门'
WHEN AVG(salary) >= 3000 THEN '中薪部门'
ELSE '低薪部门'
END AS salary_level
FROM
employee
GROUP BY
department
ORDER BY
avg_salary DESC;
```
在这个示例中,我们使用了 CASE WHEN 表达式来根据平均薪水的大小,将部门分为高薪、中薪和低薪三个等级,并将结果存储在一个名为 `salary_level` 的新列中。
阅读全文