MySQL -Tutorial

MySQL-HOME MySQL-Einführung MySQL-RDBMS

MySQL- SQL

MySQL-SQL MySQL-SELECT MySQL WO MySQL UND, ODER, NICHT MySQL ORDER BY MySQL EINFÜGEN IN MySQL-NULL-Werte MySQL-UPDATE MySQL LÖSCHEN MySQL-GRENZE MySQL-MIN und -MAX MySQL ANZAHL, DURCHSCHNITT, SUMME MySQL WIE MySQL-Wildcards MySQL-EIN MySQL ZWISCHEN MySQL-Aliase MySQL-Joins MySQL INNER JOIN MySQL-LINKSVERBINDUNG MySQL RIGHT JOIN MySQL CROSS JOIN MySQL-Self-Join MySQL-UNION MySQL-GRUPPE NACH MySQL HABEN MySQL EXISTIERT MySQL ALLE, ALLE MySQL EINFÜGEN AUSWÄHLEN MySQL-FALL MySQL-Null-Funktionen MySQL-Kommentare MySQL-Operatoren

MySQL- Datenbank

MySQL-DB erstellen MySQL-Drop-DB MySQL-Tabelle erstellen MySQL-Drop-Tabelle MySQL-Änderungstabelle MySQL-Einschränkungen MySQL nicht Null MySQL-einzigartig MySQL-Primärschlüssel MySQL-Fremdschlüssel MySQL-Check MySQL-Standard MySQL-Index erstellen Automatisches MySQL-Inkrement MySQL-Daten MySQL-Ansichten

MySQL- Referenzen

MySQL-Datentypen MySQL-Funktionen

MySQL- Beispiele

MySQL-Beispiele MySQL-Quiz MySQL-Übungen

MySQL -CASE- Anweisung


Die MySQL-CASE-Anweisung

Die CASEAnweisung durchläuft Bedingungen und gibt einen Wert zurück, wenn die erste Bedingung erfüllt ist (wie eine if-then-else-Anweisung). Sobald also eine Bedingung wahr ist, hört sie auf zu lesen und gibt das Ergebnis zurück. Wenn keine Bedingungen erfüllt sind, wird der Wert in der ELSEKlausel zurückgegeben.

Wenn kein ELSETeil vorhanden ist und keine Bedingungen wahr sind, wird NULL zurückgegeben.

CASE-Syntax

CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    WHEN conditionN THEN resultN
    ELSE result
END;

Demo-Datenbank

Nachfolgend finden Sie eine Auswahl aus der Tabelle „OrderDetails“ in der Northwind-Beispieldatenbank:

OrderDetailID OrderID ProductID Quantity
1 10248 11 12
2 10248 42 10
3 10248 72 5
4 10249 14 9
5 10249 51 40


MySQL-CASE-Beispiele

Die folgende SQL durchläuft Bedingungen und gibt einen Wert zurück, wenn die erste Bedingung erfüllt ist:

Beispiel

SELECT OrderID, Quantity,
CASE
    WHEN Quantity > 30 THEN 'The quantity is greater than 30'
    WHEN Quantity = 30 THEN 'The quantity is 30'
    ELSE 'The quantity is under 30'
END AS QuantityText
FROM OrderDetails;

Die folgende SQL ordnet die Kunden nach Stadt. Wenn die Stadt jedoch NULL ist, sortieren Sie nach Land:

Beispiel

SELECT CustomerName, City, Country
FROM Customers
ORDER BY
(CASE
    WHEN City IS NULL THEN Country
    ELSE City
END);