SQL CASE-sætning er et betinget udtryk, der giver brugerne mulighed for at udføre forskellige handlinger baseret på forskellige forhold. Det ligner if-else logik i andre programmeringssprog.
CASE-sætning i SQL
CASE-udtryk i SQL gennemgår alle betingelser og stopper, når en betingelse er opfyldt. Den kontrollerer ikke for andre forhold, efter at en betingelse er vendt tilbage og returnerer resultater baseret på denne betingelse.
Hvis ingen betingelse er sand, vil ELSE-delen blive udført. Hvis der ikke er nogen anden del, vender den tilbage NUL.
Syntaks
For at bruge CASE-sætning i SQL skal du bruge følgende syntaks:
SAG case_value
HVORNÅR tilstand DEREFTER resultat1
HVORNÅR tilstand DEREFTER resultat2
…
Andet resultat
ENDE SAG;
SQL CASE Eksempel
Lad os se på nogle eksempler på CASE-sætningen i SQL for at forstå den bedre.
Lad os oprette en demo SQL-tabel, som vil blive brugt i eksempler.
Demo SQL-database
Vi vil bruge denne eksempel-SQL-tabel til vores eksempler på SQL CASE-sætning:
| Kunde ID | Kundenavn | Efternavn | Land | Alder | telefon |
|---|---|---|---|---|---|
| 1 | Tvivl | Thakur | Indien | 23 | xxxxxxxxxx |
| 2 | Sikker | Chopra | Australien | enogtyve | xxxxxxxxxx |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | xxxxxxxxxx |
| 4 | Aditya | Arpan | Østrig | enogtyve | xxxxxxxxxx |
| 5 | Nishant. Sausages S.A. | Jain | Spanien | 22 | xxxxxxxxxx |
Du kan oprette den samme database i dit system ved at skrive følgende MySQL-forespørgsel:
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');>
Eksempel på CASE-udtryk
I dette eksempel bruger vi CASE-sætning
Forespørgsel:
SELECT CustomerName, Age , CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;>
SQL CASE When Multiple Conditions Eksempel
Vi kan tilføje flere betingelser i CASE-sætningen ved at bruge flere HVORNÅR klausuler.
Forespørgsel:
SELECT CustomerName, Age, CASE WHEN Age>22 SÅ 'Alder er større end 22' NÅR Alder = 21 SÅ 'Alder er 21' ELLES 'Alder er over 30' SLUT SOM MængdeTekst FRA Kunde;>
Produktion:

Produktion
CASE-erklæring med ORDER BY-klausuleksempel
Lad os tage kundetabellen, som indeholder kunde-id, kundenavn, efternavn, land, alder og telefon. Vi kan kontrollere dataene i kundetabellen ved at bruge BESTIL EFTER klausul med CASE-erklæringen.
Forespørgsel:
SELECT CustomerName, Country FROM Customer ORDER BY ( CASE WHEN Country IS 'India' THEN Country ELSE Age END );>
Produktion:
atoi c

CASE-erklæring med ORDER BY-klausul Eksempel output
Vigtige punkter om CASE-erklæring
- SQL CASE-sætningen er et betinget udtryk, der gør det muligt at udføre forskellige forespørgsler baseret på specificerede betingelser.
- Der skal altid være en VÆLG i CASE-redegørelsen.
- END ANDET er en valgfri komponent men HVORNÅR SÅ disse sager skal indgå i CASE-opgørelsen.
- Vi kan lave enhver betinget erklæring ved at bruge en hvilken som helst betinget operatør (som HVOR ) mellem HVORNÅR og SÅ. Dette inkluderer at sammensætte flere betingede sætninger ved hjælp af AND og OR.
- Vi kan inkludere flere WHEN-udsagn og en ELSE-sætning for at imødegå uadresserede forhold.