IF ELSE dans MySQL

Preet Sanghavi 28 mars 2022
IF ELSE dans MySQL

Dans ce tutoriel, nous visons à explorer comment utiliser l’instruction IF ELSE dans MySQL.

L’un des rôles clés d’un analyste de données est de recueillir des informations à partir des données et de générer des résultats significatifs. Cela peut être fait à l’aide de plusieurs techniques de filtrage et de visualisation des données.

L’un d’eux est l’instruction IF ELSE. Une instruction IF ELSE, comme son nom l’indique, nous aide à filtrer les données d’une table particulière dans la base de données MySQL.

Ces conditions de filtrage sont fixées dans le bloc IF de l’instruction. Si une condition particulière n’est pas remplie par les données saisies dans notre tableau, le bloc ELSE est exécuté.

Par exemple, dans une table d’employés avec des détails sur les employés, nous pouvons utiliser la clause IF ELSE dans MySQL si nous souhaitons filtrer les employés en fonction de leurs salaires. Comprenons comment cette méthode fonctionne.

Avant de commencer, créons un jeu de données factice en créant une table student_details avec quelques lignes.

-- 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");

Pour afficher les entrées dans les données, nous utilisons le code suivant.

SELECT * FROM student_details;

Production :

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

Instruction IF ELSE dans MySQL

La syntaxe de base de la technique IF ELSE est la suivante.

select column_name, 
    (
    CASE 
        WHEN <condition> THEN <operation>
        ELSE 1
    END)
 from table_x;

Comme on le voit dans la requête susmentionnée, nous utilisons l’instruction case avec la clause ELSE. C’est ainsi que l’instruction IF ELSE est effectuée dans MySQL.

Filtrons les données de notre table student_details en veillant à ce que seuls les noms de famille des étudiants soient imprimés à la place du prénom si le stu_id est supérieur à 3. Sinon, on imprime le prénom si le stu_id est inférieur ou égal à 3.

Nous pouvons y parvenir en utilisant la requête suivante.

select stu_id, 
    (
    CASE 
        WHEN stu_id <= 3 THEN stu_firstName
        ELSE stu_lastName
    END) AS filtered_data
 from student_details;

Production :

stu_id	filtered_data
1		Preet
2		Rich
3		Veron
4		Jos
5		Shah
6		Parker
7		Miller

Remarque : Dans le code ci-dessus, nous utilisons l’alias filtered_data avec le mot-clé AS dans MySQL pour augmenter la lisibilité.

Une alternative à la technique CASE ELSE est une procédure stockée. Une procédure stockée peut être créée avec le bloc IF ELSE, mais cette méthode est très inefficace et case fonctionne mieux avec des cas d’utilisation similaires à celui discuté ci-dessus.

Par conséquent, à l’aide de l’instruction case, nous pouvons implémenter efficacement la fonctionnalité attendue d’une instruction IF ELSE de tout autre langage de programmation pour filtrer les données dans MySQL.

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