Die CASE-Anweisung in MySQL
In diesem Tutorial möchten wir lernen, wie man die CASE
-Anweisung in MySQL verwendet.
Wenn die erste Bedingung erfüllt ist, durchläuft die CASE
-Anweisung die Kriterien und gibt einen Wert zurück (wie eine IF-THEN-ELSE
-Anweisung). Wenn eine Bedingung wahr ist, hört das Programm auf zu lesen und gibt das Ergebnis zurück.
Es wird den Wert in der ELSE
-Klausel zurückgeben, wenn keines der Kriterien wahr ist. Falls der Code keinen ELSE
-Anteil enthält, gibt das Programm NULL
zurück.
Die Syntax der case-Anweisung kann wie folgt angegeben werden:
case when condition then result_1 else result_2 end;
Versuchen wir, anhand eines Beispiels mehr über diese Aussage zu erfahren.
Bevor wir jedoch beginnen, erstellen wir ein Dummy-Dataset, mit dem wir arbeiten können. Hier erstellen wir eine Tabelle, student_details
, zusammen mit einigen Zeilen darin.
-- create the table student_details
CREATE TABLE student_details(
stu_id int,
stu_firstName varchar(255) DEFAULT NULL,
stu_lastName varchar(255) DEFAULT NULL,
primary key(stu_id)
);
-- insert rows to the table student_details
INSERT INTO student_details(stu_id,stu_firstName,stu_lastName)
VALUES(1,"Preet","Sanghavi"),
(2,"Rich","John"),
(3,"Veron","Brow"),
(4,"Geo","Jos"),
(5,"Hash","Shah"),
(6,"Sachin","Parker"),
(7,"David","Miller");
Die obige Abfrage erstellt eine Tabelle zusammen mit Zeilen mit dem Vor- und Nachnamen des Schülers. Um die Einträge in den Daten einzusehen, verwenden wir folgenden Code:
SELECT * FROM student_details;
Der oben genannte Code würde die folgende Ausgabe ergeben:
stu_id stu_firstName stu_lastName
1 Preet Sanghavi
2 Rich John
3 Veron Brow
4 Geo Jos
5 Hash Shah
6 Sachin Parker
7 David Miller
Lassen Sie uns nun versuchen, Yes
zusammen mit dem Nachnamen des Schülers zu drucken, wenn der Vorname des Schülers Preet
ist; andernfalls drucken wir No
.
Die CASE
-Anweisung in MySQL
Wie in der Syntax zuvor zu sehen ist, erfordert die CASE
-Anweisung in MySQL eine Bedingung. Dies funktioniert ähnlich wie eine IF..ELSE..
-Anweisung.
Wir können das folgende Codebeispiel verwenden, um das gewünschte Ergebnis in MySQL zu erhalten:
SELECT stu_lastName,
CASE stu_firstName
WHEN 'Preet' THEN 'Yes'
ELSE 'No'
END
AS RESULT
FROM student_details;
Der oben genannte Code erhält den Nachnamen jedes Schülers zusammen mit einer neuen Spalte namens result
. In dieser Ergebnisspalte steht Yes
, wenn der Vorname des Schülers Preet
lautet.
Die Ausgabe des obigen Codes kann wie folgt visualisiert werden.
stu_lastName RESULT
Sanghavi Yes
John No
Brow No
Jos No
Shah No
Parker No
Miller No
Ebenso können wir die CASE
-Anweisung verwenden, um die Daten zu nutzen und unsere Anforderungen zu erfüllen. Eine Alternative zum CASE
-Statement ist das IF
-Statement in MySQL.
Somit können wir mit Hilfe dieses Tutorials nun erfolgreich die CASE
-Anweisung in MySQL implementieren.