SQL CASE -käsky on ehdollinen lauseke, jonka avulla käyttäjät voivat suorittaa erilaisia toimintoja eri ehtojen perusteella. Se on samanlainen kuin if-else logiikka muissa ohjelmointikielissä.
CASE-lauseke SQL:ssä
CASE-lauseke SQL:ssä käy läpi kaikki ehdot ja pysähtyy, kun jokin ehto täyttyy. Se ei tarkista muita ehtoja sen jälkeen, kun ehto on palauttanut tosi, ja palauttaa tulokset tämän ehdon perusteella.
Jos mikään ehto ei ole tosi, ELSE-osa suoritetaan. Jos MUUTA osaa ei ole, se palaa TYHJÄ.
esimerkkejä mooren koneista
Syntaksi
Jos haluat käyttää CASE-lauseketta SQL:ssä, käytä seuraavaa syntaksia:
CASE case_value
KUN kunto SITTEN tulos 1
KUN kunto SITTEN tulos 2
…
Muu tulos
LOPPU CASE;
SQL CASE Esimerkki
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ä:
| Asiakas ID | Asiakkaan nimi | Sukunimi | Maa | Ikä | Puhelin |
|---|---|---|---|---|---|
| 1 | Epäillä | Thakur | Intia | 23 | xxxxxxxxxxx |
| 2 | Turvallinen | Chopra | Australia | kaksikymmentäyksi | xxxxxxxxxxx |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | xxxxxxxxxxx |
| 4 | Aditya | Arpan | Itävalta | kaksikymmentäyksi | xxxxxxxxxxx |
| 5 | Nishant. Makkarat S.A. | Jain | Espanja | 22 | xxxxxxxxxxx |
Voit luoda saman tietokannan järjestelmässäsi kirjoittamalla seuraavan MySQL-kyselyn:
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');>
Esimerkki CASE-lausekkeesta
Tässä esimerkissä käytämme CASE-käskyä
Kysely:
SELECT CustomerName, Age , CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;>
SQL CASE, kun useita ehtoja Esimerkki
Voimme lisätä useita ehtoja CASE-käskyyn käyttämällä useita KUN lausekkeita.
Kysely:
SELECT CustomerName, Age, CASE WHEN Age>22 SIIN 'Ikä on suurempi kuin 22' KUN Ikä = 21 SIIN 'Ikä on 21' MUUTA 'Ikä on yli 30' LOPETA KÄYTÖSSÄ MääräTeksti ASIAKKAALTA;>
Lähtö:

Lähtö
TAPAUSlauseke, jossa on ORDER BY -lauseke Esimerkki
Otetaan asiakastaulukko, joka sisältää asiakastunnuksen, asiakkaan nimen, sukunimen, maan, iän ja puhelimen. Voimme tarkistaa Asiakastaulukon tiedot käyttämällä TILAA lauseke CASE-lausekkeen kanssa.
merkkijono vertaa javaa
Kysely:
SELECT CustomerName, Country FROM Customer ORDER BY ( CASE WHEN Country IS 'India' THEN Country ELSE Age END );>
Lähtö:

TAPAUSlauseke, jossa on ORDER BY -lauseesimerkkitulostus
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 SITTEN nämä tapaukset on sisällytettävä CASE-lauseeseen.
- Voimme tehdä minkä tahansa ehdollisen lauseen käyttämällä mitä tahansa ehdollista operaattoria (esim MISSÄ ) välillä MILLOIN ja NIIN. Tämä sisältää useiden ehdollisten lausekkeiden yhdistämisen AND- ja OR-komentojen avulla.
- Voimme sisällyttää useita WHEN-lauseita ja ELSE-käskyn torjuaksemme osoittelemattomia ehtoja.