Die IF-Anweisung in MySQL

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

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