Die IF-Anweisung in MySQL
In diesem Tutorial möchten wir lernen, wie man die IF
-Anweisung in MySQL verwendet.
Die Syntax der IF
-Anweisung in MySQL kann als SELECT IF(condition, result_when_true, result_when_false) AS [col_name]
angegeben werden.
Insbesondere bei der IF
-Anweisung ist die Bedingung das vom Programmierer definierte Kriterium, das ausgewertet werden muss.
Es kann eine oder mehrere Spalten enthalten, die berücksichtigt werden müssen. Um beispielsweise zu überprüfen, ob ein bestimmter Wert in einer Spalte größer als 200 ist oder nicht, können wir eine Bedingung schreiben, wenn name_of_column > 100.
Der Wert result_when_true
stellt den Ausgabewert dar, den wir gegen die Bedingung angezeigt bekommen möchten, wenn er als wahr bewertet wird. Andererseits stellt der Wert result_when_false
den Ausgabewert dar, der angezeigt wird, wenn die Bedingung als falsch berechnet wird.
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 mit Zeilen mit den Vor- und Nachnamen der Schüler. 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
Nun wollen wir Yes
zusammen mit den Vornamen der Schüler ausgeben, wenn stu_id
grösser als 3 ist. Andernfalls geben wir No
in einer separaten Spalte namens high_stu_id
aus.
Die IF
-Anweisung in MySQL
Wie in der obigen Syntax zu sehen ist, erfordert die IF
-Anweisung in MySQL eine Bedingung. Dies funktioniert ähnlich wie die CASE
-Anweisung.
Wir können das folgende Programm verwenden, um das gewünschte Ergebnis in MySQL zu erhalten.
SELECT stu_firstName, IF(stu_id>3,"yes","no") AS high_stu_id
FROM student_details;
Der oben genannte Code erhält den Vornamen jedes Schülers und eine neue Spalte namens high_stu_id
.
Diese Ergebnisspalte hat den Wert Yes
, wenn die stu_id
des Schülers grösser als 3 ist. Andernfalls wird der Wert No
ausgegeben, wenn die stu_id
kleiner als 3 ist.
Die Ausgabe des obigen Codes kann wie folgt visualisiert werden:
stu_firstName high_stu_id
Preet no
Rich no
Veron no
Geo yes
Hash yes
Sachin yes
David yes
Ebenso können wir die IF
-Anweisung verwenden, um die Daten zu nutzen und unsere Anforderungen zu erfüllen. Eine Alternative zum IF
-Anweisung ist das CASE
-Statement in MySQL.
Somit können wir mit Hilfe dieses Tutorials nun erfolgreich die IF
-Anweisung in MySQL implementieren.