Case When在复杂查询中的运用

   2024-09-30 2560
核心提示:CASE WHEN 是 SQL 中的一个条件表达式,它可以在 SELECT、UPDATE 和 WHERE 子句中使用在 SELECT 子句中使用 CASE WHEN:

CASE WHEN 是 SQL 中的一个条件表达式,它可以在 SELECT、UPDATE 和 WHERE 子句中使用

在 SELECT 子句中使用 CASE WHEN:
SELECT customer_id, first_name, last_name,       CASE           WHEN total_orders >= 10 THEN 'Frequent Customer'           WHEN total_orders < 10 AND total_orders > 0 THEN 'Occasional Customer'           ELSE 'New Customer'       END AS customer_typeFROM customers;

这个查询会返回一个包含客户类型的结果集。根据客户的订单数量,我们将客户分为“常客”、“偶尔客户”和“新客户”。

在 UPDATE 子句中使用 CASE WHEN:
UPDATE productsSET price = CASE                WHEN price < 100 THEN price * 1.1                WHEN price >= 100 AND price < 500 THEN price * 1.05                ELSE price * 1.02            END;

这个查询会更新产品表中的价格。根据产品的当前价格,我们对价格进行不同比例的调整。

在 WHERE 子句中使用 CASE WHEN:
SELECT employee_id, first_name, last_name, salaryFROM employeesWHERE salary > (    CASE        WHEN department_id = 1 THEN 50000        WHEN department_id = 2 THEN 60000        ELSE 40000    END);

这个查询会返回一个包含员工 ID、名字、姓氏和薪水的结果集,其中薪水高于部门平均水平。我们根据部门 ID 设置了不同的薪水阈值。

通过在复杂查询中使用 CASE WHEN,你可以根据多种条件灵活地处理数据。这有助于提高查询的可读性和可维护性,同时也能提高查询效率。

 
举报打赏
 
更多>同类维修大全
推荐图文
推荐维修大全
点击排行

网站首页  |  关于我们  |  联系方式网站留言    |  赣ICP备2021007278号