SQL CASE-sats

De CASE uttalande i SQL är ett mångsidigt villkorligt uttryck som gör det möjligt för oss att införliva villkorlig logik direkt i våra frågor. Det låter dig returnera specifika resultat baserat på vissa villkor som möjliggör dynamiska frågeutgångar. Oavsett om du behöver skapa nya kolumner ändra befintliga eller anpassa resultatet av dina frågor CASE uttalande klarar allt.

I den här artikeln kommer vi att lära oss SQL CASE-sats i detalj med tydliga exempel och användningsfall som visar hur du kan utnyttja den här funktionen för att förbättra dina SQL-frågor.

CASE-sats i SQL

  • De CASE uttalande i SQL är ett villkorligt uttryck som låter dig utföra villkorlig logik i en fråga.
  • Det används ofta för att skapa nya kolumner baserade på villkorlig logik som tillhandahåller anpassade värden eller kontrollerar frågeutgångar baserat på vissa villkor.
  • Om inget villkor är sant så är det ANNAN del kommer att utföras. Om det inte finns någon annan del kommer den tillbaka NULL.

Syntax:

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

CASE case_value
NÄR tillstånd DÅ resultat1
NÄR tillstånd DÅ resultat2
...
Annat resultat
SLUT FALL;

Exempel på SQL CASE-sats

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:

Kund-ID Kundnamn Efternamn Land Åldras Telefon
1 Tvivel Thakur Indien 23 xxxxxxxxxx
2 Säker Chopra Australien 21 xxxxxxxxxx
3 Naveen Tulasi Sri Lanka 24 xxxxxxxxxx
4 Aditya Arpan Österrike 21 xxxxxxxxxx
5 Nishant. Salchichas S.A. Jain Spanien 22 xxxxxxxxxx

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

 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 1: Enkelt 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;  

Produktion:

Kundnamn Åldras Nationalitet
Tvivel 23 indiska
Säker 21 Utländsk
Naveen 24 Utländsk
Aditya 21 Utländsk
Nishant. Salchichas S.A. 22 Utländsk

Exempel 2: SQL CASE När flera villkor

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

Produktion:

Kundnamn Åldras KvantitetText
Tvivel 23 Åldern är över 22
Säker 21 Åldern är 21
Naveen 24 Åldern är över 22
Aditya 21 Åldern är 21
Nishant. Salchichas S.A. 22 Åldern är över 30

Exempel 3: CASE Statement med ORDER BY-klausul

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 BESTÄLL AV klausul med CASE-satsen.

Fråga:

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

Produktion:

Kundnamn Land
Säker Australien
Aditya Österrike
Nishant. Salchichas S.A. Spanien
Naveen Sri lanka
Tvivel Indien

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ÄLJA 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 villkorlig operator som helst (som DÄR ) mellan NÄR och DÅ. Detta inkluderar att stränga ihop flera villkorliga uttalanden med hjälp av OCH och OR.
  • Vi kan inkludera flera WHEN-satser och en ELSE-sats för att motverka med oadresserade villkor.

Slutsats

De CASE satsen tillhandahåller en robust mekanism för att införliva villkorlig logik i SQL-frågor. Genom att använda detta uttalande kan du hantera olika förhållanden och anpassa resultatet av dina frågor effektivt. Förstå hur man implementerar CASE expressions låter dig utföra mer sofistikerad datamanipulation och rapportering, vilket gör dina SQL-frågor mer dynamiska och lyhörda för olika scenarier.

Skapa frågesport