Оператор SQL CASE це умовний вираз, який дозволяє користувачам виконувати різні дії на основі різних умов. Це схоже на логіку if-else в інших мовах програмування.
Інструкція CASE в SQL
Вираз CASE в SQL перевіряє всі умови та зупиняється, коли виконується будь-яка умова. Він не перевіряє наявність інших умов після того, як умова повернула значення true, і повертає результати на основі цієї умови.
Якщо жодна умова не виконується, буде виконано частину ELSE. Якщо частини ELSE немає, повертається НУЛЬ.
Синтаксис
Щоб використовувати оператор CASE в SQL, використовуйте такий синтаксис:
СПРАВА case_value
КОЛИ хвороба ПОТІМ результат1
КОЛИ хвороба ПОТІМ результат2
…
Інакше результат
КІНЕЦЬ КОРПУС;
Приклад SQL CASE
Давайте розглянемо кілька прикладів оператора CASE в SQL, щоб краще зрозуміти його.
Давайте створимо демонстраційну таблицю SQL, яка буде використовуватися в прикладах.
Демонстраційна база даних SQL
Ми будемо використовувати цей зразок таблиці SQL для наших прикладів оператора SQL CASE:
| CustomerID | Ім'я клієнта | Прізвище | Країна | Вік | Телефон |
|---|---|---|---|---|---|
| 1 | Сумнів | Тхакур | Індія | 23 | xxxxxxxxxx |
| 2 | Безпечний | Чопра | Австралія | двадцять один | xxxxxxxxxx |
| 3 | Навін | Туласі | Шрі Ланка | 24 | xxxxxxxxxx |
| 4 | Адітья | Арпан | Австрія | двадцять один | xxxxxxxxxx |
| 5 | Нішант. Sausages S.A. | Джайн | Іспанія | 22 | xxxxxxxxxx |
Ви можете створити таку саму базу даних у своїй системі, написавши такий запит MySQL:
MySQL CREATE TABLE Customer( CustomerID INT PRIMARY KEY, CustomerName VARCHAR(50), LastName VARCHAR(50), Country VARCHAR(50), Age int(2), Phone int(10) ); -- Insert some sample data into the Customers table INSERT INTO Customer (CustomerID, CustomerName, LastName, Country, Age, Phone) VALUES (1, 'Shubham', 'Thakur', 'India','23','xxxxxxxxxx'), (2, 'Aman ', 'Chopra', 'Australia','21','xxxxxxxxxx'), (3, 'Naveen', 'Tulasi', 'Sri lanka','24','xxxxxxxxxx'), (4, 'Aditya', 'Arpan', 'Austria','21','xxxxxxxxxx'), (5, 'Nishant. Salchichas S.A.', 'Jain', 'Spain','22','xxxxxxxxxx');>
Приклад виразу CASE
У цьому прикладі ми використовуємо оператор CASE
Ігри imessage для андроїд
Запит:
SELECT CustomerName, Age , CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;>
Приклад SQL CASE, коли кілька умов
Ми можемо додати декілька умов у оператор CASE за допомогою кількох КОЛИ пункти.
Запит:
SELECT CustomerName, Age, CASE WHEN Age>22 THEN 'Вік більше 22' WHEN Age = 21 THEN 'The Age is 21' ELSE 'The Age is over 30' END AS QuantityText FROM Customer;>
Вихід:

Вихід
Приклад оператора CASE з реченням ORDER BY
Давайте візьмемо таблицю клієнтів, яка містить CustomerID, CustomerName, LastName, Country, Age та Phone. Ми можемо перевірити дані таблиці Customer за допомогою СОРТУВАТИ ЗА речення з оператором CASE.
Запит:
SELECT CustomerName, Country FROM Customer ORDER BY ( CASE WHEN Country IS 'India' THEN Country ELSE Age END );>
Вихід:

Оператор CASE з реченням ORDER BY. Приклад результату
Важливі моменти щодо оператора CASE
- Інструкція SQL CASE є умовним виразом, який дозволяє виконувати різні запити на основі заданих умов.
- Завжди має бути a ВИБРАТИ в операторі CASE.
- END ELSE є необов'язковий компонент але КОЛИ ТОДІ ці випадки повинні бути включені в оператор CASE.
- Ми можемо зробити будь-який умовний оператор, використовуючи будь-який умовний оператор (як ДЕ ) між WHEN і THEN. Це включає об’єднання кількох умовних операторів за допомогою І та АБО.
- Ми можемо включити кілька операторів WHEN і оператор ELSE, щоб протидіяти неадресованим умовам.