Условная агрегация – выполнение агрегирующей функции при определенных условиях (на определенных данных).
Оператор CASE
Оператор CASE служит для обработки и выполнения определенных условий
CASE [ expression]
WHEN condition_1 THEN result_1
WHEN condition_2 THEN result_2
...
WHEN condition_n THEN result_n
ELSE result
END
Принцип работы оператора CASE заключается в условном выполнении операций на основе заданных условий. Он позволяет проверять значение выражения и выполнять различные действия в зависимости от соответствия условиям.
Основные операторы, используемые в операторе CASE, включают:
WHEN: определяет условие, которое должно быть выполнено.THEN: указывает действие, которое будет выполнено, если условие в оператореWHENистинно.ELSE: опциональный оператор, который указывает действие, которое будет выполнено, если ни одно из условий в операторахWHENне истинно.END: обозначает конец оператораCASE.
Особенности использования CASE
- Условия
WHEN–THENвыполняются в порядке приоритета написания. После первого совпадения остальные ветки уже не выполняются. - Если условие не примет
TRUE, то операторCASEвернет значение предложенияELSE. - Если предложение
ELSEопущено и условие не приметTRUE, то операторCASEвернетNULL. - Оператор
CASEможет иметь до 255 сравнений. Каждое предложениеWHEN ... THENрассматривает 2 сравнения.
Применение CASE
Для полного доступа к курсу нужен базовый план
Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.