SQL CASE-Anweisung
Der CASE Aussage in SQL ist ein vielseitiger bedingter Ausdruck, der uns die Integration ermöglicht bedingte Logik direkt in unseren Abfragen. Es ermöglicht Ihnen, bestimmte Ergebnisse basierend auf bestimmten Bedingungen zurückzugeben und dynamische Abfrageausgaben zu ermöglichen. Ob Sie es brauchen neue Spalten erstellen Ändern Sie vorhandene oder passen Sie die Ausgabe Ihrer Abfragen an CASE-Anweisung kann alles bewältigen.
In diesem Artikel lernen wir das SQL CASE-Anweisung ausführlich mit anschaulichen Beispielen und Anwendungsfällen, die zeigen, wie Sie diese Funktion nutzen können, um Ihre SQL-Abfragen zu verbessern.
CASE-Anweisung in SQL
- Der
CASEAussage in SQL ist ein bedingter Ausdruck, mit dem Sie bedingte Logik innerhalb einer Abfrage ausführen können.
- Es wird häufig verwendet, um neue Spalten basierend auf bedingter Logik zu erstellen, benutzerdefinierte Werte bereitzustellen oder Abfrageausgaben basierend auf bestimmten Bedingungen zu steuern.
- Wenn keine Bedingung wahr ist, dann ANDERS Teil wird 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:
CASE case_value
WANN Bedingung DANN Ergebnis1
WANN Bedingung DANN Ergebnis2
...
Sonst Ergebnis
ENDGEHÄUSE;
Beispiel einer SQL-CASE-Anweisung
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.
Demo-SQL-Datenbank
Wir werden diese Beispiel-SQL-Tabelle für unsere Beispiele zur SQL-CASE-Anweisung verwenden:
| Kunden-ID | Kundenname | Nachname | Land | Alter | Telefon |
|---|---|---|---|---|---|
| 1 | Zweifeln | Thakur | Indien | 23 | xxxxxxxxxx |
| 2 | Sicher | Chopra | Australien | 21 | xxxxxxxxxx |
| 3 | Naveen | Tulasi | Sri Lanka | 24 | xxxxxxxxxx |
| 4 | Aditya | Arpan | Österreich | 21 | xxxxxxxxxx |
| 5 | Nishant. Salchichas S.A. | Jain | Spanien | 22 | xxxxxxxxxx |
Sie können dieselbe Datenbank in Ihrem System erstellen, indem Sie die folgende MySQL-Abfrage schreiben:
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 1: Einfacher 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;Ausgabe:
| Kundenname | Alter | Nationalität |
|---|---|---|
| Zweifeln | 23 | indisch |
| Sicher | 21 | Ausländisch |
| Naveen | 24 | Ausländisch |
| Aditya | 21 | Ausländisch |
| Nishant. Salchichas S.A. | 22 | Ausländisch |
Beispiel 2: SQL CASE 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 '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;Ausgabe:
| Kundenname | Alter | Mengentext |
|---|---|---|
| Zweifeln | 23 | Das Alter ist größer als 22 |
| Sicher | 21 | Das Alter beträgt 21 |
| Naveen | 24 | Das Alter ist größer als 22 |
| Aditya | 21 | Das Alter beträgt 21 |
| Nishant. Salchichas S.A. | 22 | Das Alter beträgt über 30 |
Beispiel 3: CASE-Anweisung mit 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 BESTELLEN 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:
| Kundenname | Land |
|---|---|
| Sicher | Australien |
| Aditya | Österreich |
| Nishant. Salchichas S.A. | Spanien |
| Naveen | Sri Lanka |
| Zweifeln | Indien |
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 das Aneinanderreihen mehrerer bedingter Anweisungen mithilfe von UND und ODER.
- Wir können mehrere WHEN-Anweisungen und eine ELSE-Anweisung einschließen, um nicht adressierten Bedingungen entgegenzuwirken.
Abschluss
Der CASE Die Anweisung bietet einen robusten Mechanismus zum Einbinden bedingter Logik in SQL-Abfragen. Mithilfe dieser Anweisung können Sie verschiedene Bedingungen verarbeiten und die Ausgabe Ihrer Abfragen effektiv anpassen. Verstehen, wie man es umsetzt CASE Mit Ausdrücken können Sie anspruchsvollere Datenmanipulationen und Berichte durchführen, wodurch Ihre SQL-Abfragen dynamischer werden und auf verschiedene Szenarien reagieren.