logo

Stavek SQL CASE

Izjava SQL CASE je pogojni izraz, ki uporabnikom omogoča izvajanje različnih dejanj na podlagi različnih pogojev. Podobna je logiki if-else v drugih programskih jezikih.

Izjava CASE v SQL

Izraz CASE v SQL gre skozi vse pogoje in se ustavi, ko je kateri koli pogoj izpolnjen. Ne preverja drugih pogojev, potem ko je pogoj vrnil true, in vrne rezultate na podlagi tega pogoja.

Če noben pogoj ni resničen, bo izveden del ELSE. Če ni dela ELSE, se vrne NIČ.



Sintaksa

Za uporabo izjave CASE v SQL uporabite naslednjo sintakso:

OVITEK primer_vrednost
KDAJ stanje POTEM rezultat1
KDAJ stanje POTEM rezultat2

drugače rezultat
KONEC OVITEK;

Primer SQL CASE

Oglejmo si nekaj primerov stavka CASE v SQL, da ga bolje razumemo.

Ustvarimo demo tabelo SQL, ki jo bomo uporabili v primerih.

Demo baza podatkov SQL

To vzorčno tabelo SQL bomo uporabili za naše primere izjave SQL CASE:

Identifikacijska številka strankeIme strankePriimekDržavaStarostTelefon
1DvomThakurIndija23xxxxxxxxxx
2VarnoChopraAvstralijaenaindvajsetxxxxxxxxxx
3NaveenTulasiŠrilanka24xxxxxxxxxx
4AdityaArpanAvstrijaenaindvajsetxxxxxxxxxx
5Nishant. Sausages S.A.JainŠpanija22xxxxxxxxxx

Isto bazo podatkov lahko ustvarite v svojem sistemu tako, da napišete naslednjo poizvedbo MySQL:

prehod motnosti css
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');>

Primer izraza CASE

V tem primeru uporabljamo stavek CASE

poizvedba:

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

Primer SQL, ko je več pogojev Primer

V stavku CASE lahko dodamo več pogojev z uporabo multiple KDAJ klavzule.

poizvedba:

  SELECT   CustomerName, Age,   CASE     WHEN   Age>22 THEN 'Starost je večja od 22' WHEN Starost = 21 THEN 'The Age is 21' ELSE 'Starost je več kot 30' END AS QuantityText FROM Customer;>

Izhod:

dodajanje več pogojev izhodu primera izjave o primeru

Izhod

Stavek CASE s stavkom ORDER BY Primer

Vzemimo tabelo strank, ki vsebuje CustomerID, CustomerName, LastName, Country, Age in Phone. Podatke tabele Stranka lahko preverimo z uporabo NAROČI PO klavzula s stavkom CASE.

kako razkriti skrite aplikacije

poizvedba:

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

Izhod:

stavek primera z izhodnim primerom vrstnega reda glede na klavzulo

Stavek CASE s klavzulo ORDER BY Primer izhoda

Pomembne točke o izjavi CASE

  • Stavek SQL CASE je pogojni izraz, ki omogoča izvajanje različnih poizvedb na podlagi podanih pogojev.
  • Vedno mora obstajati a IZBERI v izjavi CASE.
  • END ELSE je neobvezna komponenta, vendar KDAJ TAKRAT ti primeri morajo biti vključeni v stavek CASE.
  • S katerim koli pogojnim operatorjem lahko naredimo kateri koli pogojni stavek (npr KJE ) med KDAJ in POTEM. To vključuje nizanje več pogojnih stavkov z uporabo IN in ALI.
  • Vključimo lahko več stavkov WHEN in stavek ELSE, da preprečimo nenaslovljene pogoje.