SQL CASE paziņojums

The CASE paziņojums iekšā SQL ir daudzpusīga nosacījuma izteiksme, kas ļauj mums iekļaut nosacītā loģika tieši mūsu vaicājumu ietvaros. Tas ļauj atgriezt konkrētus rezultātus, pamatojoties uz noteiktiem nosacījumiem, kas nodrošina dinamisku vaicājumu izvadi. Vai jums ir nepieciešams izveidot jaunas kolonnas modificēt esošos vai pielāgot savu vaicājumu izvadi CASE paziņojums var tikt galā ar visu.

Šajā rakstā mēs uzzināsim, SQL CASE priekšraksts detalizēti ar skaidriem piemēriem un lietošanas gadījumiem, kas parāda, kā izmantot šo līdzekli, lai uzlabotu savus SQL vaicājumus.

CASE paziņojums SQL

  • The CASE paziņojums iekšā SQL ir nosacījuma izteiksme, kas ļauj veikt nosacījuma loģiku vaicājumā.
  • To parasti izmanto, lai izveidotu jaunas kolonnas, kuru pamatā ir nosacījuma loģika, lai nodrošinātu pielāgotas vērtības vai kontrolētu vaicājuma izvades, pamatojoties uz noteiktiem nosacījumiem.
  • Ja neviens nosacījums nav patiess, tad CITS daļa tiks izpildīta. Ja nav citas daļas, tas atgriežas NULL.

Sintakse:

Lai izmantotu CASE paziņojumu SQL, izmantojiet šādu sintaksi:

CASE case_value
KAD nosacījums TAD rezultāts1
KAD nosacījums TAD rezultāts2
...
Cits rezultāts
BEIGAS LIETAS;

SQL CASE paziņojuma piemērs

Apskatīsim dažus CASE priekšraksta piemērus SQL, lai to labāk izprastu.

Izveidosim demonstrācijas SQL tabulu, kas tiks izmantota piemēros.

Demonstrācijas SQL datu bāze

Mēs izmantosim šo SQL tabulas paraugu saviem piemēriem SQL CASE priekšrakstā:

Klienta ID Klienta vārds Uzvārds Valsts Vecums Tālrunis
1 Šaubas Thakur Indija 23 xxxxxxxxxx
2 Drošs Chopra Austrālija 21 xxxxxxxxxx
3 Naveen Tulasi Šrilanka 24 xxxxxxxxxx
4 Aditya Arpan Austrija 21 xxxxxxxxxx
5 Nisant. Salchichas S.A. Jain Spānija 22 xxxxxxxxxx

Jūs varat izveidot to pašu datu bāzi savā sistēmā, ierakstot šādu MySQL vaicājumu:

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

1. piemērs: Vienkārša CASE izteiksme

Šajā piemērā mēs izmantojam CASE paziņojumu

Vaicājums:

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

Izvade:

Klienta vārds Vecums Tautība
Šaubas 23 Indijas
Drošs 21 Ārzemju
Naveen 24 Ārzemju
Aditya 21 Ārzemju
Nisant. Salchichas S.A. 22 Ārzemju

2. piemērs: SQL CASE, ja ir vairāki nosacījumi

Mēs varam pievienot vairākus nosacījumus CASE priekšrakstam, izmantojot vairākus KAD klauzulas.

Vaicājums:

 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;  

Izvade:

Klienta vārds Vecums DaudzumsTeksts
Šaubas 23 Vecums ir lielāks par 22 gadiem
Drošs 21 Vecums ir 21 gads
Naveen 24 Vecums ir lielāks par 22 gadiem
Aditya 21 Vecums ir 21 gads
Nisant. Salchichas S.A. 22 Vecums ir virs 30

3. piemērs: CASE paziņojums ar ORDER BY klauzulu

Paņemsim klientu tabulu, kurā ir ietverts Klienta ID Klienta vārds Uzvārds Valsts vecums un tālruņa numurs. Klientu tabulas datus varam pārbaudīt, izmantojot PASŪTĪT PĒC klauzula ar CASE paziņojumu.

Vaicājums:

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

Izvade:

Klienta vārds Valsts
Drošs Austrālija
Aditya Austrija
Nisant. Salchichas S.A. Spānija
Naveen Šrilanka
Šaubas Indija

Svarīgi punkti par CASE paziņojumu

  • SQL CASE priekšraksts ir nosacījuma izteiksme, kas ļauj izpildīt dažādus vaicājumus, pamatojoties uz noteiktiem nosacījumiem.
  • Vienmēr jābūt a ATLASĪT CASE paziņojumā.
  • BEIGAS CITS ir izvēles sastāvdaļa, bet KAD TAD šie gadījumi ir jāiekļauj CASE paziņojumā.
  • Mēs varam izveidot jebkuru nosacījumu, izmantojot jebkuru nosacījumu operatoru (piemēram, KUR ) starp KAD un TAD. Tas ietver vairāku nosacījumu priekšrakstu virknēšanu, izmantojot UN un VAI.
  • Mēs varam iekļaut vairākus WHEN paziņojumus un ELSE paziņojumu, lai novērstu neadresētus nosacījumus.

Secinājums

The CASE paziņojums nodrošina stabilu mehānismu nosacījuma loģikas iekļaušanai SQL vaicājumos. Izmantojot šo paziņojumu, jūs varat rīkoties ar dažādiem nosacījumiem un efektīvi pielāgot savu vaicājumu izvadi. Izpratne par to, kā īstenot CASE izteiksmes ļauj veikt sarežģītākas datu manipulācijas un pārskatu veidošanu, padarot jūsu SQL vaicājumus dinamiskākus un reaģējošākus uz dažādiem scenārijiem.

Izveidojiet viktorīnu