SQL CASE-setning er et betinget uttrykk som lar brukere utføre forskjellige handlinger basert på forskjellige forhold. Det ligner på if-else logikk i andre programmeringsspråk.
CASE-setning i SQL
CASE-uttrykk i SQL går gjennom alle betingelser og stopper når en betingelse er oppfylt. Den ser ikke etter andre forhold etter at en tilstand har returnert sann, og returnerer resultater basert på den tilstanden.
Hvis ingen betingelse er sann, vil ELSE-delen bli utført. Hvis det ikke er noen ANDRE del, kommer den tilbake NULL.
Syntaks
For å bruke CASE Statement i SQL, bruk følgende syntaks:
SAK case_value
NÅR betingelse DERETTER resultat1
NÅR betingelse DERETTER resultat2
…
Ellers resultat
SLUTT SAK;
SQL CASE Eksempel
La oss se på noen eksempler på CASE-setningen i SQL for å forstå den bedre.
La oss lage en demo SQL-tabell, som vil bli brukt i eksempler.
Demo SQL-database
Vi vil bruke denne eksempel-SQL-tabellen for våre eksempler på SQL CASE-setning:
| Kunde ID | Kundenavn | Etternavn | Land | Alder | Telefon |
|---|---|---|---|---|---|
| 1 | Tvil | Thakur | India | 23 | xxxxxxxxxx |
| 2 | Sikker | Chopra | Australia | tjueen | xxxxxxxxxx |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | xxxxxxxxxx |
| 4 | Aditya | Arpan | Østerrike | tjueen | xxxxxxxxxx |
| 5 | Nishant. Sausages S.A. | Jain | Spania | 22 | xxxxxxxxxx |
Du kan opprette den samme databasen i systemet ditt ved å skrive følgende MySQL-spørring:
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');>
CASE-uttrykk Eksempel
I dette eksemplet bruker vi CASE-setningen
Spørsmål:
SELECT CustomerName, Age , CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;>
SQL CASE When Multiple Conditions Eksempel
Vi kan legge til flere betingelser i CASE-setningen ved å bruke flere NÅR klausuler.
Spørsmål:
SELECT CustomerName, Age, CASE WHEN Age>22 SÅ 'Alder er større enn 22' NÅR Alder = 21 SÅ 'Alder er 21' ELLES 'Alder er over 30' SLUTT SOM KvantitetTekst FRA Kunden;>
Produksjon:

Produksjon
CASE-uttalelse med ORDER BY-klausuleksempel
La oss ta kundetabellen som inneholder kunde-ID, kundenavn, etternavn, land, alder og telefon. Vi kan sjekke dataene i kundetabellen ved å bruke REKKEFØLGE ETTER klausul med CASE-setningen.
Spørsmål:
SELECT CustomerName, Country FROM Customer ORDER BY ( CASE WHEN Country IS 'India' THEN Country ELSE Age END );>
Produksjon:
atoi c

CASE-uttalelse med ORDER BY-klausul Eksempelutgang
Viktige punkter om CASE-erklæring
- SQL CASE-setningen er et betinget uttrykk som gjør det mulig å utføre forskjellige spørringer basert på spesifiserte forhold.
- Det skal alltid være en PLUKKE UT i CASE-uttalelsen.
- END ELSE er en valgfri komponent men NÅR DA disse sakene skal inkluderes i CASE-uttalelsen.
- Vi kan lage en hvilken som helst betinget erklæring ved å bruke en hvilken som helst betinget operatør (som HVOR ) mellom NÅR og DA. Dette inkluderer å sette sammen flere betingede setninger ved å bruke AND og OR.
- Vi kan inkludere flere WHEN-setninger og en ELSE-setning for å motvirke uadresserte forhold.