logo

Інструкція SQL CASE

Оператор 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СумнівТхакурІндія23xxxxxxxxxx
2БезпечнийЧопраАвстраліядвадцять одинxxxxxxxxxx
3НавінТуласіШрі Ланка24xxxxxxxxxx
4АдітьяАрпанАвстріядвадцять одинxxxxxxxxxx
5Нішант. Sausages S.A.ДжайнІспанія22xxxxxxxxxx

Ви можете створити таку саму базу даних у своїй системі, написавши такий запит 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

Вихід

Приклад оператора 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 з виводом прикладу порядку за реченням

Оператор CASE з реченням ORDER BY. Приклад результату

Важливі моменти щодо оператора CASE

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