SQL CASE -lauseke
The CASE lausunto sisään SQL on monipuolinen ehdollinen lauseke, jonka avulla voimme sisällyttää ehdollinen logiikka suoraan kyselyissämme. Sen avulla voit palauttaa tiettyjä tuloksia tiettyjen ehtojen perusteella mahdollistaen dynaamisten kyselytulosteiden. Tarvittaessa luoda uusia sarakkeita muokata olemassa olevia tai mukauttaa kyselyjesi tulosta CASE lausunto jaksaa kaiken.
Tässä artikkelissa opimme SQL CASE -käsky yksityiskohtaisesti selkeillä esimerkeillä ja käyttötapauksilla, jotka osoittavat, kuinka voit hyödyntää tätä ominaisuutta parantaaksesi SQL-kyselyjäsi.
CASE-lauseke SQL:ssä
- The
CASElausunto sisään SQL on ehdollinen lauseke, jonka avulla voit suorittaa ehdollisen logiikan kyselyssä.
- Sitä käytetään yleisesti uusien sarakkeiden luomiseen ehdolliseen logiikkaan perustuvien mukautettujen arvojen tarjoamiseen tai kyselyn tulosteiden ohjaamiseen tiettyjen ehtojen perusteella.
- Jos mikään ehto ei pidä paikkaansa, niin MUU osa suoritetaan. Jos MUUTA osaa ei ole, se palaa NULL.
Syntaksi:
Jos haluat käyttää CASE-lauseketta SQL:ssä, käytä seuraavaa syntaksia:
CASE case_value
MILLOIN ehto NIIN tulos1
MILLOIN ehto NIIN tulos2
...
Muu tulos
LOPPUKÄYTTÖ;
Esimerkki SQL CASE -lauseesta
Katsotaanpa joitain esimerkkejä CASE-käskystä SQL:ssä ymmärtääksemme sitä paremmin.
Luodaan demo-SQL-taulukko, jota käytetään esimerkeissä.
Demo SQL-tietokanta
Käytämme tätä SQL-mallitaulukkoa esimerkeissämme SQL CASE -käskystä:
| Asiakastunnus | AsiakkaanNimi | Sukunimi | Maa | Ikä | Puhelin |
|---|---|---|---|---|---|
| 1 | Epäillä | Thakur | Intia | 23 | xxxxxxxxxxx |
| 2 | Turvallinen | Chopra | Australia | 21 | xxxxxxxxxxx |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | xxxxxxxxxxx |
| 4 | Aditya | Arpan | Itävalta | 21 | xxxxxxxxxxx |
| 5 | Nishant. Salchichas S.A. | Jain | Espanja | 22 | xxxxxxxxxxx |
Voit luoda saman tietokannan järjestelmässäsi kirjoittamalla seuraavan MySQL-kyselyn:
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');Esimerkki 1: Yksinkertainen CASE-lauseke
Tässä esimerkissä käytämme CASE-lausetta
Kysely:
SELECT CustomerName Age CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;Lähtö:
| AsiakkaanNimi | Ikä | Kansallisuus |
|---|---|---|
| Epäillä | 23 | intialainen |
| Turvallinen | 21 | Ulkomaalainen |
| Naveen | 24 | Ulkomaalainen |
| Aditya | 21 | Ulkomaalainen |
| Nishant. Salchichas S.A. | 22 | Ulkomaalainen |
Esimerkki 2: SQL CASE, kun useita ehtoja
Voimme lisätä useita ehtoja CASE-käskyyn käyttämällä useita KUN lausekkeita.
Kysely:
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;Lähtö:
| AsiakkaanNimi | Ikä | MääräText |
|---|---|---|
| Epäillä | 23 | Ikä on yli 22 vuotta |
| Turvallinen | 21 | Ikäraja on 21 |
| Naveen | 24 | Ikä on yli 22 vuotta |
| Aditya | 21 | Ikäraja on 21 |
| Nishant. Salchichas S.A. | 22 | Ikäraja on yli 30 |
Esimerkki 3: CASE-selostus ORDER BY -lausekkeella
Otetaan asiakastaulukko, joka sisältää asiakastunnuksen AsiakkaanNimi Sukunimi Maa Ikä ja Puhelin. Voimme tarkistaa Asiakastaulukon tiedot käyttämällä TILAA lauseke CASE-lausekkeen kanssa.
Kysely:
SELECT CustomerName Country FROM Customer ORDER BY (CASE WHEN Country IS 'India' THEN Country ELSE Age END);Lähtö:
| AsiakkaanNimi | Maa |
|---|---|
| Turvallinen | Australia |
| Aditya | Itävalta |
| Nishant. Salchichas S.A. | Espanja |
| Naveen | Sri Lanka |
| Epäillä | Intia |
Tärkeitä kohtia CASE-lausunnosta
- SQL CASE -käsky on ehdollinen lauseke, joka mahdollistaa erilaisten kyselyjen suorittamisen määritettyjen ehtojen perusteella.
- Aina pitäisi olla a VALITSE CASE-lausunnossa.
- END MUU on valinnainen komponentti, mutta MILLOIN SIIN nämä tapaukset on sisällytettävä CASE-lauseeseen.
- Voimme tehdä minkä tahansa ehdollisen lauseen käyttämällä mitä tahansa ehdollista operaattoria (esim JOSSA ) välillä MILLOIN ja NIIN. Tämä sisältää useiden ehdollisten lausekkeiden yhdistämisen käyttämällä JA ja TAI.
- Voimme sisällyttää useita WHEN-lauseita ja ELSE-käskyn torjuaksemme osoittelemattomia ehtoja.
Johtopäätös
The CASE lauseke tarjoaa vankan mekanismin ehdollisen logiikan sisällyttämiseksi SQL-kyselyihin. Tämän lausekkeen avulla voit käsitellä erilaisia ehtoja ja mukauttaa kyselyjesi tulosta tehokkaasti. Toteutuksen ymmärtäminen CASE lausekkeiden avulla voit suorittaa kehittyneempiä tietojen käsittelyä ja raportointia, mikä tekee SQL-kyselyistäsi dynaamisempia ja reagoivampia erilaisiin skenaarioihin.