Stavek SQL CASE

The CASE izjava v SQL je vsestranski pogojni izraz, ki nam omogoča vključitev pogojna logika neposredno znotraj naših poizvedb. Omogoča vam vrnitev določenih rezultatov na podlagi določenih pogojev, ki omogočajo dinamične rezultate poizvedbe. Ali je treba ustvarite nove stolpce spremenite obstoječe ali prilagodite rezultate svojih poizvedb Izjava CASE zmore vse.

V tem članku se bomo naučili Izjava SQL CASE podrobno z jasnimi primeri in primeri uporabe, ki prikazujejo, kako izkoristiti to funkcijo za izboljšanje poizvedb SQL.

Izjava CASE v SQL

  • The CASE izjava v SQL je pogojni izraz, ki vam omogoča izvajanje pogojne logike znotraj poizvedbe.
  • Običajno se uporablja za ustvarjanje novih stolpcev na podlagi pogojne logike, ki zagotavlja vrednosti po meri ali nadzor izhodov poizvedbe na podlagi določenih pogojev.
  • Če noben pogoj ni resničen, potem je DRUGEGA del bo izveden. Če ni dela ELSE, se vrne NULL.

Sintaksa:

Za uporabo izjave CASE v SQL uporabite naslednjo sintakso:

CASE primer_vrednost
WHEN pogoj THEN rezultat1
WHEN pogoj THEN rezultat2
...
Drug rezultat
KONČNI OHIŠJE;

Primer izjave SQL CASE

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

Ustvarimo demo tabelo SQL, ki bo uporabljena v primerih.

Demo baza podatkov SQL

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

ID stranke Ime stranke LastName Država Starost Telefon
1 Dvom Thakur Indija 23 xxxxxxxxxx
2 Varno Chopra Avstralija 21 xxxxxxxxxx
3 Naveen Tulasi Šrilanka 24 xxxxxxxxxx
4 Aditya Arpan Avstrija 21 xxxxxxxxxx
5 Nishant. Salchichas S.A. Jain Španija 22 xxxxxxxxxx

Isto bazo podatkov lahko ustvarite v svojem sistemu tako, da napišete naslednjo poizvedbo 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 1: Preprost izraz CASE

V tem primeru uporabljamo stavek CASE

poizvedba:

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

Izhod:

Ime stranke Starost Narodnost
Dvom 23 indijski
Varno 21 Tuje
Naveen 24 Tuje
Aditya 21 Tuje
Nishant. Salchichas S.A. 22 Tuje

Primer 2: SQL CASE pri več pogojih

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

poizvedba:

 SELECT CustomerName Age CASE WHEN Age> 22 THEN 'The Age is greater than 22' WHEN Age = 21 THEN 'The Age is 21' ELSE 'The Age is over 30' END AS QuantityText FROM Customer;  

Izhod:

Ime stranke Starost QuantityText
Dvom 23 Starost je večja od 22
Varno 21 Starost je 21
Naveen 24 Starost je večja od 22
Aditya 21 Starost je 21
Nishant. Salchichas S.A. 22 Starost je nad 30

Primer 3: Izjava CASE s klavzulo ORDER BY

Vzemimo tabelo strank, ki vsebuje CustomerID CustomerName LastName Država Starost in telefon. Podatke tabele Stranka lahko preverimo z uporabo NAROČI PO klavzula s stavkom CASE.

poizvedba:

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

Izhod:

Ime stranke Država
Varno Avstralija
Aditya Avstrija
Nishant. Salchichas S.A. Španija
Naveen Šrilanka
Dvom Indija

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.

Zaključek

The CASE zagotavlja robusten mehanizem za vključevanje pogojne logike v poizvedbe SQL. Z uporabo tega stavka lahko obravnavate različne pogoje in učinkovito prilagodite rezultate svojih poizvedb. Razumevanje, kako izvajati CASE izrazi vam omogočajo bolj sofisticirano obdelavo podatkov in poročanje, zaradi česar so vaše poizvedbe SQL bolj dinamične in odzivne na različne scenarije.

Ustvari kviz