SQL CASE-erklæring

De CASE uttalelse i SQL er et allsidig betinget uttrykk som gjør oss i stand til å innlemme betinget logikk direkte i våre spørsmål. Den lar deg returnere spesifikke resultater basert på visse forhold som muliggjør dynamiske spørringsutganger. Enten du trenger det opprette nye kolonner endre eksisterende eller tilpasse utdataene til dine søk CASE-uttalelse kan klare alt.

I denne artikkelen lærer vi SQL CASE-setning i detalj med klare eksempler og brukstilfeller som viser hvordan du kan utnytte denne funksjonen for å forbedre SQL-spørringene dine.

CASE-setning i SQL

  • De CASE uttalelse i SQL er et betinget uttrykk som lar deg utføre betinget logikk i en spørring.
  • Det er ofte brukt til å lage nye kolonner basert på betinget logikk som gir tilpassede verdier eller kontrollerer spørringsutdata basert på visse forhold.
  • Hvis ingen betingelse er sann, er det ELLERS del vil 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:

CASE case_value
NÅR tilstand SÅ resultat1
NÅR tilstand SÅ resultat2
...
Annet resultat
AVSLUTT SAKEN;

Eksempel på SQL CASE-setning

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 21 xxxxxxxxxx
3 Naveen Tulasi Sri Lanka 24 xxxxxxxxxx
4 Aditya Arpan Østerrike 21 xxxxxxxxxx
5 Nishant. Salchichas S.A. Jain Spania 22 xxxxxxxxxx

Du kan opprette den samme databasen i systemet ditt ved å skrive følgende MySQL-spørring:

 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 1: Enkelt CASE-uttrykk

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;  

Produksjon:

Kundenavn Alder Nasjonalitet
Tvil 23 indisk
Sikker 21 Fremmed
Naveen 24 Fremmed
Aditya 21 Fremmed
Nishant. Salchichas S.A. 22 Fremmed

Eksempel 2: SQL CASE When Multiple Conditions

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 THEN 'The Age is greater than 22' WHEN Age = 21 THEN 'The Age is 21' ELSE 'The Age is over 30' END AS QuantityText FROM Customer;  

Produksjon:

Kundenavn Alder MengdeTekst
Tvil 23 Alderen er over 22
Sikker 21 Alderen er 21
Naveen 24 Alderen er over 22
Aditya 21 Alderen er 21
Nishant. Salchichas S.A. 22 Alderen er over 30

Eksempel 3: CASE-uttalelse med ORDER BY-klausul

La oss ta Kundetabellen som inneholder KundeID Kundenavn Etternavn Land Alder og telefonnummer. Vi kan sjekke dataene i kundetabellen ved å bruke BESTILL PÅ 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:

Kundenavn Land
Sikker Australia
Aditya Østerrike
Nishant. Salchichas S.A. Spania
Naveen Sri Lanka
Tvil India

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 VELGE i CASE-uttalelsen.
  • END ELSE er en valgfri komponent men NÅR SÅ 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 OG og OR.
  • Vi kan inkludere flere WHEN-setninger og en ELSE-setning for å motvirke uadresserte forhold.

Konklusjon

De CASE statement gir en robust mekanisme for å inkorporere betinget logikk i SQL-spørringer. Ved å bruke denne setningen kan du håndtere ulike forhold og tilpasse utdataene til spørringene dine effektivt. Forstå hvordan man implementerer CASE uttrykk lar deg utføre mer sofistikert datamanipulering og rapportering, noe som gjør SQL-spørringene dine mer dynamiske og responsive på forskjellige scenarier.

Lag quiz