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

Quiz erstellen