CASE в SQL

  Юрий  | 

  |

  Обновл. 31 Мар 2023  | 

 1526

Оператор CASE в SQL используется для проверки условий и выполнения операций над данными. Синтаксис выражения CASE всегда начинается с ключевого слова CASE и заканчивается ключевым словом END, за которым следует псевдоним (оператор AS) имени столбца. Например:

Здесь мы проверяем каждую строку на соответствие заданному выражению CASE и выполняем дополнительное действие в случае соответствия. Если возраст (age) больше или равен 18, то выбираются соответствующие строки customer_id и first_name и добавляется дополнительный столбец can_vote со значением Allowed.

Рассмотрим другой пример. Предположим, мы хотим предоставить клиентам скидку 10% на каждый заказ на рождественской распродаже, если сумма превышает 400.

Здесь мы проверяем, является ли сумма заказа (amount) больше или равной 400. Если это условие выполнено, добавляется новый столбец offer_price, содержащий суммы заказов с учетом 10% скидки (формула amount - amount*10/100).

Также можно использовать сразу несколько условий внутри одного выражения CASE.

Здесь мы выбираем столбцы customer_id, first_name и добавляем столбец с именем country_name. Значением country_name будет:

   United States of America, если страна (поле country) — USA.

   United Kingdom, если страна (поле country) — UK.

CASE с ELSE в SQL

Оператор CASE может иметь необязательное предложение ELSE. Предложение ELSE выполняется, если ни одно из условий в операторе CASE не выполняется. Например:

Здесь мы выбираем столбцы customer_id, first_name и добавляем столбец с именем country_name. Значением country_name будет:

   United States of America, если страна (поле country) — USA;

   United Kingdom, если страна (поле country) — UK;

   Unknown Country, если страной (поле country) не является ни USA, ни UK (срабатывает предложение ELSE).


Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (8 оценок, среднее: 4,75 из 5)
Загрузка...

Добавить комментарий

Ваш E-mail не будет опубликован. Обязательные поля помечены *