SQL CASE-instructie is een voorwaardelijke expressie waarmee gebruikers verschillende acties kunnen uitvoeren op basis van verschillende voorwaarden. Het is vergelijkbaar met if-else-logica in andere programmeertalen.
CASE-instructie in SQL
CASE-expressie in SQL doorloopt alle voorwaarden en stopt wanneer aan een voorwaarde is voldaan. Er wordt niet gecontroleerd op andere voorwaarden nadat een voorwaarde waar is geretourneerd en er worden resultaten geretourneerd op basis van die voorwaarde.
Als geen enkele voorwaarde waar is, wordt het ELSE-gedeelte uitgevoerd. Als er geen ANDERS deel is, keert het terug NUL.
Syntaxis
Om de CASE-instructie in SQL te gebruiken, gebruikt u de volgende syntaxis:
GEVAL case_waarde
WANNEER voorwaarde DAN resultaat1
WANNEER voorwaarde DAN resultaat2
…
Anders resultaat
EINDE GEVAL;
SQL CASE-voorbeeld
Laten we eens kijken naar enkele voorbeelden van de CASE-instructie in SQL om deze beter te begrijpen.
Laten we een demo-SQL-tabel maken, die in voorbeelden zal worden gebruikt.
Demo SQL-database
We zullen deze voorbeeld-SQL-tabel gebruiken voor onze voorbeelden van de SQL CASE-instructie:
| Klanten ID | Klantnaam | Achternaam | Land | Leeftijd | Telefoon |
|---|---|---|---|---|---|
| 1 | Twijfel | Thakur | Indië | 23 | xxxxxxxxx |
| 2 | Veilig | Chopra | Australië | eenentwintig | xxxxxxxxx |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | xxxxxxxxx |
| 4 | Aditya | Arpan | Oostenrijk | eenentwintig | xxxxxxxxx |
| 5 | Nishant. Worsten S.A. | Jaïn | Spanje | 22 | xxxxxxxxx |
U kunt dezelfde database in uw systeem maken door de volgende MySQL-query te schrijven:
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');>
Voorbeeld van CASE-expressie
In dit voorbeeld gebruiken we de CASE-instructie
Vraag:
SELECT CustomerName, Age , CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;>
SQL CASE Wanneer meerdere voorwaarden Voorbeeld
We kunnen meerdere voorwaarden toevoegen aan de CASE-instructie door meerdere te gebruiken WANNEER clausules.
Vraag:
SELECT CustomerName, Age, CASE WHEN Age>22 THEN 'De leeftijd is groter dan 22' WANNEER Leeftijd = 21 THEN 'De leeftijd is 21' ANDERS 'De leeftijd is ouder dan 30' END AS AantalTekst VAN Klant;>
Uitgang:

Uitvoer
CASE-verklaring met ORDER BY-clausulevoorbeeld
Laten we de klantentabel nemen die KlantID, Klantnaam, Achternaam, Land, Leeftijd en Telefoon bevat. We kunnen de gegevens van de klantentabel controleren met behulp van de BESTEL DOOR -clausule met de CASE-instructie.
Vraag:
SELECT CustomerName, Country FROM Customer ORDER BY ( CASE WHEN Country IS 'India' THEN Country ELSE Age END );>
Uitgang:

CASE-instructie met ORDER BY-clausule Voorbeelduitvoer
Belangrijke punten over de CASE-verklaring
- De SQL CASE-instructie is een voorwaardelijke expressie waarmee verschillende query's kunnen worden uitgevoerd op basis van opgegeven voorwaarden.
- Er moet altijd een SELECTEER in de CASE-instructie.
- EINDE ANDERS is een optioneel onderdeel, maar WANNEER DAN deze gevallen moeten worden opgenomen in de CASE-instructie.
- We kunnen elke voorwaardelijke verklaring maken met behulp van elke voorwaardelijke operator (zoals WAAR ) tussen WANNEER en DAN. Dit omvat het aan elkaar rijgen van meerdere voorwaardelijke instructies met behulp van AND en OR.
- We kunnen meerdere WHEN-instructies en een ELSE-instructie opnemen om ongeadresseerde omstandigheden tegen te gaan.