logo

SQL CASE-erklæring

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 IDKundenavnEtternavnLandAlderTelefon
1TvilThakurIndia23xxxxxxxxxx
2SikkerChopraAustraliatjueenxxxxxxxxxx
3NaveenTulasiSri Lanka24xxxxxxxxxx
4AdityaArpanØsterriketjueenxxxxxxxxxx
5Nishant. Sausages S.A.JainSpania22xxxxxxxxxx

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:

legge til flere betingelser til et eksempelutgang for en case-setning

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
saksuttalelse med rekkefølge etter klausul eksempelutgang

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.