📜  PostgreSQL – CASE 语句(1)

📅  最后修改于: 2023-12-03 14:45:34.887000             🧑  作者: Mango

PostgreSQL – CASE 语句

在 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 语句,您可以根据多个条件分支执行不同的操作,从而使查询结果更加灵活和有意义。