logo

SQL CASE-erklæring

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 IDKundenavnEfternavnLandAldertelefon
1TvivlThakurIndien23xxxxxxxxxx
2SikkerChopraAustralienenogtyvexxxxxxxxxx
3NaveenTulasiSri Lanka24xxxxxxxxxx
4AdityaArpanØstrigenogtyvexxxxxxxxxx
5Nishant. Sausages S.A.JainSpanien22xxxxxxxxxx

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:

tilføjelse af flere betingelser til et eksempel på en case-sætning

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 statement med rækkefølge efter klausul eksempel output

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.