logo

Instrukcja SQL CASE

Instrukcja SQL CASE to wyrażenie warunkowe, które pozwala użytkownikom wykonywać różne akcje w oparciu o różne warunki. Jest podobny do logiki if-else w innych językach programowania.

Instrukcja CASE w SQL

CASE Wyrażenie w SQL przechodzi przez wszystkie warunki i zatrzymuje się, gdy dowolny warunek zostanie spełniony. Nie sprawdza innych warunków po zwróceniu przez warunek wartości true i zwraca wyniki na podstawie tego warunku.

Jeśli żaden warunek nie jest spełniony, zostanie wykonana część ELSE. Jeśli nie ma części ELSE, następuje powrót ZERO.



strsep c

Składnia

Aby użyć instrukcji CASE w języku SQL, użyj następującej składni:

SPRAWA wartość_przypadku
GDY stan NASTĘPNIE wynik1
GDY stan NASTĘPNIE wynik2

W przeciwnym razie wynik
KONIEC SPRAWA;

Przykład PRZYPADKU SQL

Przyjrzyjmy się kilku przykładom instrukcji CASE w języku SQL, aby lepiej ją zrozumieć.

Słownik C#

Stwórzmy demonstracyjną tabelę SQL, która będzie wykorzystana w przykładach.

Demo bazy danych SQL

Będziemy używać tej przykładowej tabeli SQL do naszych przykładów instrukcji SQL CASE:

Identyfikator klientaNazwa klientaNazwiskoKrajWiekTelefon
1WątpliwośćThakurIndie23xxxxxxxxx
2BezpiecznaChopraAustraliadwadzieścia jedenxxxxxxxxx
3NaveenTulasiSri Lanka24xxxxxxxxx
4AdityaArpanAustriadwadzieścia jedenxxxxxxxxx
5Nishant. Kiełbaski SAJainHiszpania22xxxxxxxxx

Możesz utworzyć tę samą bazę danych w swoim systemie, pisząc następujące zapytanie MySQL:

MySQL'a
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');>

Przykład wyrażenia CASE

W tym przykładzie użyjemy instrukcji CASE

PowerShell z komentarzami wielowierszowymi

Zapytanie:

  SELECT   CustomerName, Age  ,    CASE   WHEN Country = 'India' THEN 'Indian'  ELSE 'Foreign' END AS Nationality FROM Customer;>

PRZYKŁAD SQL, gdy występuje wiele warunków. Przykład

Możemy dodać wiele warunków w instrukcji CASE, używając multiple GDY klauzule.

Zapytanie:

  SELECT   CustomerName, Age,   CASE     WHEN   Age>22 WTEDY 'Wiek jest większy niż 22' KIEDY Wiek = 21 WTEDY 'Wiek wynosi 21 lat' W przeciwnym razie 'Wiek przekracza 30' KONIEC JAKO QuantityText OD Klienta;>

Wyjście:

iterator Java mapy
dodanie wielu warunków do przykładowego wyniku instrukcji case

Wyjście

Instrukcja CASE z przykładem klauzuli ORDER BY

Weźmy tabelę klientów, która zawiera identyfikator klienta, nazwę klienta, nazwisko, kraj, wiek i telefon. Dane tabeli Customer możemy sprawdzić korzystając z metody ZAMÓW PRZEZ klauzula z instrukcją CASE.

Zapytanie:

  SELECT   CustomerName, Country   FROM   Customer   ORDER BY  (  CASE     WHEN   Country IS 'India'   THEN   Country    ELSE   Age   END  );>

Wyjście:

instrukcja case z przykładowymi wynikami kolejności według klauzuli

Instrukcja CASE z przykładowym wyjściem klauzuli ORDER BY

Ważne punkty dotyczące instrukcji CASE

  • Instrukcja SQL CASE jest wyrażeniem warunkowym, które pozwala na wykonanie różnych zapytań w oparciu o określone warunki.
  • Zawsze powinno być WYBIERAĆ w instrukcji CASE.
  • KONIEC INNEGO jest opcjonalny komponent ale KIEDY WTEDY przypadki te należy uwzględnić w instrukcji CASE.
  • Możemy utworzyć dowolną instrukcję warunkową, używając dowolnego operatora warunkowego (np GDZIE ) pomiędzy KIEDY i WTEDY. Obejmuje to łączenie wielu instrukcji warunkowych za pomocą AND i OR.
  • Możemy dołączyć wiele instrukcji WHEN i instrukcję ELSE, aby przeciwdziałać nierozwiązanym warunkom.