logo

SQL CASE-sats

SQL CASE-sats är ett villkorligt uttryck som tillåter användare att utföra olika åtgärder baserat på olika förhållanden. Det liknar if-else logik i andra programmeringsspråk.

CASE-sats i SQL

CASE-uttryck i SQL går igenom alla villkor och stoppas när något villkor är uppfyllt. Den letar inte efter andra villkor efter att ett villkor har återgått till sant och returnerar resultat baserat på det villkoret.



Om inget villkor är sant kommer ELSE-delen att exekveras. Om det inte finns någon ANNAN del kommer den tillbaka NULL.

Syntax

För att använda CASE-satsen i SQL, använd följande syntax:

FALL case_value
NÄR skick SEDAN resultat1
NÄR skick SEDAN resultat2

Annan resultat
SLUTET FALL;



SQL CASE Exempel

Låt oss titta på några exempel på CASE-satsen i SQL för att förstå den bättre.

Låt oss skapa en demo SQL-tabell, som kommer att användas i exempel.

Demo SQL-databas

Vi kommer att använda denna exempel-SQL-tabell för våra exempel på SQL CASE-sats:



KundnummerKöparens namnEfternamnLandÅlderTelefon
1TvivelThakurIndien23xxxxxxxxxx
2SäkerChopraAustralientjugoettxxxxxxxxxx
3NaveenTulasiSri Lanka24xxxxxxxxxx
4AdityaArpanÖsterriketjugoettxxxxxxxxxx
5Nishant. Sausages S.A.JainSpanien22xxxxxxxxxx

Du kan skapa samma databas i ditt system genom att skriva följande MySQL-fråga:

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');>

Exempel på CASE-uttryck

I det här exemplet använder vi CASE-satsen

Fråga:

  SELECT   CustomerName, Age  ,    CASE   WHEN Country = 'India' THEN 'Indian'  ELSE 'Foreign' END AS Nationality FROM Customer;>

SQL CASE When Multiple Conditions Exempel

Vi kan lägga till flera villkor i CASE-satsen genom att använda flera NÄR klausuler.

Fråga:

  SELECT   CustomerName, Age,   CASE     WHEN   Age>22 DÅ 'Åldern är högre än 22' NÄR Ålder = 21 DÅ 'Åldern är 21' ANNARS 'Åldern är över 30' SLUT SOM KvantitetText FRÅN Kund;>

Produktion:

lägga till flera villkor till en exempelutmatning för falluttryck

Produktion

CASE-uttalande med ORDER BY-klausulexempel

Låt oss ta kundtabellen som innehåller kund-ID, kundnamn, efternamn, land, ålder och telefonnummer. Vi kan kontrollera uppgifterna i kundtabellen genom att använda SORTERA EFTER klausul med CASE-satsen.

Fråga:

  SELECT   CustomerName, Country   FROM   Customer   ORDER BY  (  CASE     WHEN   Country IS 'India'   THEN   Country    ELSE   Age   END  );>

Produktion:

case-sats med ordningsföljds exempelutdata

CASE-uttalande med ORDER BY-klausul Exempelutdata

Viktiga punkter om CASE Statement

  • SQL CASE-satsen är ett villkorligt uttryck som tillåter exekvering av olika frågor baserat på angivna villkor.
  • Det ska alltid finnas en VÄLJ i CASE-utlåtandet.
  • END ELSE är en valfri komponent men NÄR DÅ dessa fall måste ingå i CASE-utlåtandet.
  • Vi kan göra vilket villkorligt uttalande som helst med vilken villkorsstyrd operatör som helst (som VAR ) mellan NÄR och DÅ. Detta inkluderar att stränga ihop flera villkorliga satser med AND och OR.
  • Vi kan inkludera flera WHEN-satser och en ELSE-sats för att motverka med oadresserade villkor.