Продвинутые SQL-запросы

Теория: Условная агрегация CASE

Условная агрегация – выполнение агрегирующей функции при определенных условиях (на определенных данных).

Условная агрегация

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

if-then

Особенности использования CASE

  • Условия WHENTHEN выполняются в порядке приоритета написания. После первого совпадения остальные ветки уже не выполняются.
  • Если условие не примет TRUE, то оператор CASE вернет значение предложения ELSE.
  • Если предложение ELSE опущено и условие не примет TRUE, то оператор CASE вернет NULL.
  • Оператор CASE может иметь до 255 сравнений. Каждое предложение WHEN ... THEN рассматривает 2 сравнения.

Применение CASE

Применение CASE

Рекомендуемые программы