Case When SQL: примеры и объяснение использования

Конструкция <code>CASE WHEN</code> в SQL используется для выполнения условных операций. Она позволяет задать различные варианты выполнения кода в зависимости от соответствия определенному условию. Вы можете использовать <code>CASE WHEN</code> для удобного и гибкого управления логикой запроса в SQL. Рассмотрим примеры кода для более подробного объяснения.

Представим, что у нас есть таблица <code>employees</code> со следующими столбцами: <code>id</code>, <code>name</code>, <code>position</code>, <code>salary</code>. Мы хотим создать новый столбец <code>salary_category</code>, который будет содержать категорию зарплаты для каждого сотрудника.

Пример 1:

SELECT
    name,
    salary,
    CASE
        WHEN salary < 1000 THEN 'Низкая зарплата'
        WHEN salary >= 1000 AND salary < 5000 THEN 'Средняя зарплата'
        WHEN salary >= 5000 THEN 'Высокая зарплата'
        ELSE 'Неизвестная зарплата'
    END AS salary_category
FROM employees;

В этом примере мы используем конструкцию <code>CASE WHEN</code> для определения категории зарплаты для каждого сотрудника. Если зарплата меньше 1000, устанавливаем значение 'Низкая зарплата'. Если зарплата больше или равна 1000 и меньше 5000, значение будет 'Средняя зарплата'. Если зарплата больше или равна 5000, значение будет 'Высокая зарплата'. В случае, если значение зарплаты не соответствует ни одному из указанных условий, мы устанавливаем значение 'Неизвестная зарплата'.

Пример 2:

UPDATE employees
SET position = CASE
    WHEN position = 'Manager' THEN 'Senior Manager'
    WHEN position = 'Assistant' THEN 'Junior Assistant'
    ELSE position
END;

В этом примере мы используем конструкцию <code>CASE WHEN</code> для обновления значений в столбце <code>position</code>. Если значение столбца равно 'Manager', мы обновляем его на 'Senior Manager'. Если значение равно 'Assistant', мы обновляем его на 'Junior Assistant'. В противном случае, значение остается без изменений.

Конструкция <code>CASE WHEN</code> может быть использована в других контекстах, например, при выборке данных из нескольких таблиц, объединении данных и т.д. Она позволяет гибко управлять логикой SQL запросов в зависимости от заданных условий.

В данном ответе были приведены два примера, но с использованием <code>CASE WHEN</code> можно создавать более сложные и многоуровневые условия. Эта конструкция предоставляет мощный инструмент для управления логикой запросов и выполнения различных операций в SQL.

Похожие вопросы на: "case when sql "

Работа с диапазонами в Python
AdMob: монетизация мобильных приложений с Google
Monodevelop - разработка программного обеспечения на языке C#
Онклик: создание интерактивных элементов на вашем сайте
Индекс PHP: основные функции и применение
Let JS: учимся программировать на JavaScript
Знак деления в питоне
Python REST API
Приложение Power BI
Changelog - обновления и изменения на сайте