📅  最后修改于: 2023-12-03 14:45:34.887000             🧑  作者: Mango
在 PostgreSQL 中,CASE
语句用于根据条件检索数据或执行条件分支处理。
语法如下:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
CASE
语句接受一个或多个条件分支。它首先评估第一个条件,如果条件 condition1
为真,则返回 result1
。如果未满足第一个条件,则继续评估第二个条件 condition2
,如果 condition2
为真,则返回 result2
。以此类推,直到有条件为真为止。如果所有条件都不满足,将返回 ELSE
子句中的 result
。
以下是一个 PostgreSQL 查询示例,它使用 CASE
语句根据员工薪资计算员工等级:
SELECT
first_name || ' ' || last_name AS employee,
salary,
CASE
WHEN salary >= 100000 THEN 'Senior'
WHEN salary >= 50000 THEN 'Intermediate'
ELSE 'Junior'
END AS level
FROM employees;
输出如下:
employee | salary | level
-----------------+--------+--------------
John Doe | 25000 | Junior
Jane Smith | 50000 | Intermediate
Bob Johnson | 100000 | Senior
该查询为每个员工返回其姓名、薪资和根据薪资计算的等级。
CASE
语句是 PostgreSQL 中非常有用的条件分支处理工具。通过使用 CASE
语句,您可以根据多个条件分支执行不同的操作,从而使查询结果更加灵活和有意义。