Logo Wand.Tools

SQL CASE語句生成器

使用AI生成CASE語句以在SQL中添加條件邏輯

SQL CASE 教程

SQL CASE 教程

SQL 的 CASE 语句用于在 SQL 查询中实现条件逻辑。它允许您根据特定条件执行不同的操作。本教程将通过实际示例引导您了解 CASE 语句的语法和用法。

语法

CASE 语句的基本语法如下:

CASE
    WHEN 条件1 THEN 结果1
    WHEN 条件2 THEN 结果2
    ...
    ELSE 默认结果
END
  • 条件1, 条件2, …: 这些是按顺序评估的条件。
  • 结果1, 结果2, …: 如果相应条件为真,则返回的结果。
  • 默认结果: 如果没有任何条件为真,则返回的结果(可选)。

示例 1:简单的 CASE

假设您有一个名为 employees 的表,其中包含 idnamesalary 列。您希望根据员工的薪水对其进行分类:

SELECT 
    name,
    salary,
    CASE
        WHEN salary > 100000 THEN '高'
        WHEN salary BETWEEN 50000 AND 100000 THEN '中'
        ELSE '低'
    END AS salary_category
FROM employees;

此查询将返回姓名、薪水以及一个新列 salary_category,该列将每个员工的薪水分类为「高」、「中」或「低」。

示例 2:在 ORDER BY 中使用 CASE

您还可以在 ORDER BY 子句中使用 CASE 语句,根据条件逻辑对结果进行排序:

SELECT 
    name,
    salary
FROM employees
ORDER BY 
    CASE
        WHEN salary > 100000 THEN 1
        WHEN salary BETWEEN 50000 AND 100000 THEN 2
        ELSE 3
    END;

此查询将首先按高薪员工排序,然后是中薪和低薪员工。

示例 3:在 UPDATE 中使用 CASE

CASE 语句还可以用于 UPDATE 语句中,以条件更新记录:

UPDATE employees
SET salary = 
    CASE
        WHEN salary < 50000 THEN salary * 1.1
        WHEN salary BETWEEN 50000 AND 100000 THEN salary * 1.05
        ELSE salary
    END;

此查询将使薪水低于 50,000 的员工薪水增加 10%,薪水在 50,000 到 100,000 之间的员工薪水增加 5%,否则保持不变。

结论

SQL 的 CASE 语句是一个强大的工具,用于在查询中实现条件逻辑。它可以用于 SELECTUPDATEORDER BY 和其他子句中,使您的 SQL 查询更加灵活和动态。通过不同的场景练习使用 CASE 语句,以充分掌握其潜力。