Оператор 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 "

Switch C: совершенствуйте сеть своей компании
JSONPlaceholder - Онлайн сервис для тестирования REST API
Работа с парами значений в языке программирования C с помощью C Pair
Concat JS - советы и примеры по объединению JavaScript файлов
Что означает в питоне: ключевые термины
AMD64: все, что вам нужно знать о 64-битных процессорах
AJAX PHP: обмен данными в реальном времени
Как выйти из цикла в Python?
Работа с функцией iconv в PHP
Screen Touch Test: Evaluate the Sensitivity of Your Device's Touchscreen