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:
| Kundnummer | Köparens namn | Efternamn | Land | Ålder | Telefon |
|---|---|---|---|---|---|
| 1 | Tvivel | Thakur | Indien | 23 | xxxxxxxxxx |
| 2 | Säker | Chopra | Australien | tjugoett | xxxxxxxxxx |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | xxxxxxxxxx |
| 4 | Aditya | Arpan | Österrike | tjugoett | xxxxxxxxxx |
| 5 | Nishant. Sausages S.A. | Jain | Spanien | 22 | xxxxxxxxxx |
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:

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