Die CASE-Anweisung in MySQL

Preet Sanghavi 20 Januar 2022
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.

Preet Sanghavi avatar Preet Sanghavi avatar

Preet writes his thoughts about programming in a simplified manner to help others learn better. With thorough research, his articles offer descriptive and easy to understand solutions.

LinkedIn GitHub

Verwandter Artikel - MySQL Statement