logo

SQL CASE-instructie

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 IDKlantnaamAchternaamLandLeeftijdTelefoon
1TwijfelThakurIndië23xxxxxxxxx
2VeiligChopraAustraliëeenentwintigxxxxxxxxx
3NaveenTulasiSri Lanka24xxxxxxxxx
4AdityaArpanOostenrijkeenentwintigxxxxxxxxx
5Nishant. Worsten S.A.JaïnSpanje22xxxxxxxxx

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:

het toevoegen van meerdere voorwaarden aan de voorbeelduitvoer van een case-instructie

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

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.