Оператор CASE в SQL

НАВИГАЦИЯ ПО СТРАНИЦЕ

Оператор CASE Пример использования

Оператор CASE в SQL предоставляет возможность реализации условной логики в запросах. Он позволяет выполнять различные действия в зависимости от выполнения условий. Вот базовый синтаксис оператора CASE:

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE default_result
END

Пример использования оператора CASE для простого сравнения значений:

SELECT
    FirstName,
    LastName,
    Salary,
    CASE
        WHEN Salary > 50000 THEN 'High Salary'
        WHEN Salary > 30000 THEN 'Medium Salary'
        ELSE 'Low Salary'
    END AS SalaryCategory
FROM
    Employees;

В данном примере создается новая колонка SalaryCategory, которая зависит от значения столбца Salary. Если зарплата больше 50000, присваивается категория "High Salary", если больше 30000 - "Medium Salary", в противном случае - "Low Salary".

Оператор CASE может быть также использован в более сложных сценариях, например, для сравнения с несколькими значениями или для выполнения арифметических операций. Вот пример с несколькими значениями:

SELECT
    ProductID,
    Quantity,
    CASE
        WHEN Quantity = 0 THEN 'Out of Stock'
        WHEN Quantity > 0 AND Quantity <= 10 THEN 'Low Stock'
        WHEN Quantity > 10 AND Quantity <= 50 THEN 'Medium Stock'
        ELSE 'High Stock'
    END AS StockStatus
FROM
    Products;

В этом примере создается колонка StockStatus на основе значения колонки Quantity. В зависимости от значения количества товара определяется статус запаса.

Оператор CASE предоставляет удобный способ внедрения условной логики в SQL-запросы и является мощным инструментом для создания разнообразных условий выбора.