SQL CASE-Anweisung ist ein bedingter Ausdruck, der es Benutzern ermöglicht, verschiedene Aktionen basierend auf unterschiedlichen Bedingungen auszuführen. Sie ähnelt der if-else-Logik in anderen Programmiersprachen.
Kern Java
CASE-Anweisung in SQL
Der CASE-Ausdruck in SQL durchläuft alle Bedingungen und stoppt, wenn eine Bedingung erfüllt ist. Es wird nicht nach anderen Bedingungen gesucht, nachdem eine Bedingung „true“ zurückgegeben hat, und es werden Ergebnisse basierend auf dieser Bedingung zurückgegeben.
Wenn keine Bedingung wahr ist, wird der ELSE-Teil ausgeführt. Wenn kein ELSE-Teil vorhanden ist, wird zurückgegeben NULL.
Syntax
Um die CASE-Anweisung in SQL zu verwenden, verwenden Sie die folgende Syntax:
FALL case_value
WANN Zustand DANN Ergebnis1
WANN Zustand DANN Ergebnis2
…
Anders Ergebnis
ENDE FALL;
SQL CASE-Beispiel
Schauen wir uns einige Beispiele der CASE-Anweisung in SQL an, um sie besser zu verstehen.
Lassen Sie uns eine Demo-SQL-Tabelle erstellen, die in Beispielen verwendet wird.
Zeichenfolge vergleichen mit
Demo-SQL-Datenbank
Wir werden diese Beispiel-SQL-Tabelle für unsere Beispiele zur SQL-CASE-Anweisung verwenden:
| Kundennummer | Kundenname | Familienname, Nachname | Land | Alter | Telefon |
|---|---|---|---|---|---|
| 1 | Zweifeln | Thakur | Indien | 23 | xxxxxxxxxx |
| 2 | Sicher | Chopra | Australien | einundzwanzig | xxxxxxxxxx |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | xxxxxxxxxx |
| 4 | Aditya | Arpan | Österreich | einundzwanzig | xxxxxxxxxx |
| 5 | Nishant. Würstchen S.A. | Jain | Spanien | 22 | xxxxxxxxxx |
Sie können dieselbe Datenbank in Ihrem System erstellen, indem Sie die folgende MySQL-Abfrage schreiben:
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');>
Beispiel für einen CASE-Ausdruck
In diesem Beispiel verwenden wir die CASE-Anweisung
Abfrage:
SELECT CustomerName, Age , CASE WHEN Country = 'India' THEN 'Indian' ELSE 'Foreign' END AS Nationality FROM Customer;>
Beispiel für SQL-FALL bei mehreren Bedingungen
Wir können der CASE-Anweisung mehrere Bedingungen hinzufügen, indem wir multiple verwenden WANN Klauseln.
Abfrage:
SELECT CustomerName, Age, CASE WHEN Age>22 THEN 'Das Alter ist größer als 22' WHEN Age = 21 THEN 'Das Alter ist 21' ELSE 'Das Alter ist über 30' END AS QuantityText FROM Customer;>
Ausgabe:
Winterschlaf-Dialekt

Ausgabe
Beispiel für eine CASE-Anweisung mit einer ORDER BY-Klausel
Nehmen wir die Kundentabelle, die CustomerID, CustomerName, LastName, Country, Age und Phone enthält. Wir können die Daten der Kundentabelle überprüfen, indem wir die verwenden SORTIEREN NACH -Klausel mit der CASE-Anweisung.
Abfrage:
SELECT CustomerName, Country FROM Customer ORDER BY ( CASE WHEN Country IS 'India' THEN Country ELSE Age END );>
Ausgabe:

CASE-Anweisung mit Beispielausgabe der ORDER BY-Klausel
Wichtige Punkte zur CASE-Anweisung
- Die SQL CASE-Anweisung ist ein bedingter Ausdruck, der die Ausführung verschiedener Abfragen basierend auf angegebenen Bedingungen ermöglicht.
- Es sollte immer eine geben WÄHLEN in der CASE-Anweisung.
- END ELSE ist eine optionale Komponente, aber WANN DANN diese Fälle müssen in der CASE-Anweisung enthalten sein.
- Wir können jede bedingte Anweisung mit jedem bedingten Operator (z. B WO ) zwischen WANN und DANN. Dazu gehört die Aneinanderreihung mehrerer bedingter Anweisungen mithilfe von AND und OR.
- Wir können mehrere WHEN-Anweisungen und eine ELSE-Anweisung einschließen, um nicht adressierten Bedingungen entgegenzuwirken.