在PostgreSQL中怎样使用CASE WHEN

avatar
作者
猴君
阅读量:0

在PostgreSQL中,可以使用CASE WHEN语句来进行条件查询。CASE WHEN是一种表达式,它允许你根据一个或多个条件返回不同的值。以下是一个基本的CASE WHEN语句的语法:

CASE      WHEN condition1 THEN result1     WHEN condition2 THEN result2     ...     ELSE result_default END AS column_name 

在这个结构中:

  • condition1, condition2, ... 是要测试的条件。
  • result1, result2, ... 是在满足相应条件时要返回的结果。
  • ELSE 子句是可选的,用于定义当所有条件都不满足时要返回的值。
  • AS column_name 是可选的,用于给结果列命名。

下面是一个具体的例子。假设我们有一个名为employees的表,其中包含id, name, salarydepartment等列。我们想要找出每个员工的薪水是否高于平均薪水,并据此返回不同的消息。

SELECT      id,      name,      salary,      department,     CASE          WHEN salary > (SELECT AVG(salary) FROM employees) THEN '高于平均薪水'         ELSE '低于或等于平均薪水'     END AS salary_status FROM      employees; 

在这个查询中,我们首先计算了employees表中所有员工薪水的平均值。然后,我们使用CASE WHEN语句来检查每个员工的薪水是否高于这个平均值,并返回相应的消息。最后,我们将这个消息作为salary_status列返回。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!