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.