Оператор Case When в SQL-запросах: примеры и объяснение

Фраза "case when" является частью конструкции языка SQL, которая используется для условного оператора в запросах к базам данных. Синтаксис конструкции "case when":

CASE

WHEN condition1 THEN result1

WHEN condition2 THEN result2

...

WHEN conditionN THEN resultN

ELSE default_result

END

Здесь мы указываем, что если условие condition1 выполняется, то должен быть возвращен результат result1, если condition2 выполняется, то result2, и так далее. Если ни одно из условий не выполняется, то будет возвращен default_result.

Пример:

SELECT name,

CASE

WHEN age < 18 THEN 'underage'

WHEN age >= 18 AND age < 25 THEN 'young adult'

WHEN age >= 25 AND age < 65 THEN 'adult'

ELSE 'senior'

END AS age_group

FROM users

Здесь мы используем конструкцию "case when", чтобы определить возрастную группу каждого пользователя. Если возраст меньше 18, мы помечаем его "несовершеннолетним". Если возраст от 18 до 25 лет, то это "молодой взрослый". Если возраст от 25 до 65, то это "взрослый", иначе это "пожилой".

Также можно использовать конструкцию "case when" в сочетании с другими функциями SQL, например, для подсчета количества строк, выполняющих определенное условие:

SELECT COUNT(*),

CASE

WHEN age < 18 THEN 'underage'

WHEN age >= 18 AND age < 25 THEN 'young adult'

WHEN age >= 25 AND age < 65 THEN 'adult'

ELSE 'senior'

END AS age_group

FROM users

GROUP BY age_group

Здесь мы считаем количество пользователей в каждой возрастной группе и группируем их по группам. Результат будет выглядеть примерно так:

| COUNT(*) | age_group |

| -------- | -------------|

| 56 | underage |

| 123 | young adult |

| 345 | adult |

| 89 | senior |

Таким образом, конструкция "case when" является мощным инструментом для условной обработки данных в SQL и позволяет создавать разные сценарии в зависимости от определенных условий в запросах к базе данных.

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

Конвертирование PNG в SVG онлайн
Mastering WPF DataGrid: Tips, Tricks, and Best Practices
Файлы в Java: основные аспекты работы
STD Copy - уникальные копии мебели ручной работы
Kivymd - библиотека для создания красивых приложений на Python
Что такое uid и зачем он нужен?
Datetime Format in PHP
Руководство по использованию функции disp в MATLAB
Fit Transform: Unlock Your Potential and Transform Your Fitness
Селектор Nth-of-type в CSS: выбор и стилизация определенного типа элементов