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
CASEpaziņ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.