If ELSE in MySQL
In diesem Tutorial möchten wir untersuchen, wie die Anweisung IF ELSE
in MySQL verwendet wird.
Eine der Schlüsselaufgaben eines Datenanalysten besteht darin, Erkenntnisse aus den Daten zu gewinnen und aussagekräftige Ergebnisse zu generieren. Dies kann mit Hilfe verschiedener Datenfilterungs- und Visualisierungstechniken erfolgen.
Eine davon ist die IF ELSE
-Anweisung. Eine IF ELSE
-Anweisung hilft uns, wie der Name schon sagt, beim Filtern von Daten einer bestimmten Tabelle in der MySQL-Datenbank.
Diese Filterbedingungen werden im IF
-Block der Anweisung gesetzt. Wenn eine bestimmte Bedingung von den in unserer Tabelle eingegebenen Daten nicht erfüllt wird, wird der ELSE
-Block ausgeführt.
Beispielsweise können wir in einer Mitarbeitertabelle mit Mitarbeiterdetails die IF ELSE
-Klausel in MySQL verwenden, wenn wir die Mitarbeiter nach ihrem Gehalt filtern möchten. Lassen Sie uns verstehen, wie diese Methode funktioniert.
Bevor wir beginnen, lassen Sie uns einen Dummy-Datensatz erstellen, indem wir eine Tabelle student_details
mit einigen Zeilen erstellen.
-- 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");
Um die Einträge in den Daten anzuzeigen, verwenden wir den folgenden Code.
SELECT * FROM student_details;
Ausgabe:
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
IF ELSE
-Anweisung in MySQL
Die grundlegende Syntax der IF ELSE
-Technik ist wie folgt.
select column_name,
(
CASE
WHEN <condition> THEN <operation>
ELSE 1
END)
from table_x;
Wie in der oben genannten Abfrage zu sehen ist, verwenden wir die case
-Anweisung zusammen mit der ELSE
-Klausel. So wird die IF ELSE
-Anweisung in MySQL ausgeführt.
Lassen Sie uns Daten aus unserer Tabelle student_details
filtern, indem wir sicherstellen, dass nur die Nachnamen der Studenten anstelle des Vornamens gedruckt werden, wenn die stu_id
grösser als 3
ist. Ansonsten drucken wir den Vornamen, wenn die stu_id
kleiner oder gleich 3
ist.
Wir können dies mit der folgenden Abfrage erreichen.
select stu_id,
(
CASE
WHEN stu_id <= 3 THEN stu_firstName
ELSE stu_lastName
END) AS filtered_data
from student_details;
Ausgabe:
stu_id filtered_data
1 Preet
2 Rich
3 Veron
4 Jos
5 Shah
6 Parker
7 Miller
Hinweis: Im obigen Code verwenden wir den Alias filtered_data
mit dem Schlüsselwort AS
in MySQL, um die Lesbarkeit zu erhöhen.
Eine Alternative zur CASE ELSE
-Technik ist eine gespeicherte Prozedur. Eine gespeicherte Prozedur kann mit dem IF ELSE
-Block erstellt werden, aber diese Methode ist höchst ineffizient und case
funktioniert am besten mit ähnlichen Anwendungsfällen wie dem oben besprochenen.
Daher können wir mit Hilfe der case
-Anweisung die Funktionalität, die von einer IF ELSE
-Anweisung aus jeder anderen Programmiersprache erwartet wird, effizient implementieren, um Daten in MySQL zu filtern.