If ELSE in MySQL

Preet Sanghavi 28 März 2022
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.

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