L'instruction CASE dans MySQL
Dans ce tutoriel, nous visons à apprendre à utiliser l’instruction CASE
dans MySQL.
Lorsque la première condition est remplie, l’instruction CASE
parcourt les critères et renvoie une valeur (comme une instruction IF-THEN-ELSE
). Lorsqu’une condition est vraie, le programme arrête la lecture et renvoie le résultat.
Il renverra la valeur dans la clause ELSE
si aucun des critères n’est vrai. Dans le cas où il n’y a pas de partie ELSE
dans le code, le programme renvoie NULL
.
La syntaxe de l’instruction case peut être donnée comme suit :
case when condition then result_1 else result_2 end;
Essayons d’en savoir plus sur cette affirmation avec un exemple.
Cependant, avant de commencer, nous créons un jeu de données factice avec lequel travailler. Ici, nous créons un tableau, student_details
, avec quelques lignes dedans.
-- 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");
La requête ci-dessus crée un tableau avec des lignes contenant le prénom et le nom de l’étudiant. Pour afficher les entrées dans les données, nous utilisons le code suivant :
SELECT * FROM student_details;
Le code susmentionné donnerait la sortie suivante :
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
Maintenant, visons à imprimer Yes
avec le nom de l’élève lorsque le prénom de l’élève est Preet
; sinon, on imprime No
.
La déclaration CASE
dans MySQL
Comme vu dans la syntaxe précédente, l’instruction CASE
dans MySQL nécessite une condition. Cela fonctionne de manière similaire à une instruction IF..ELSE..
.
Nous pouvons utiliser l’exemple de code suivant pour obtenir le résultat souhaité dans MySQL :
SELECT stu_lastName,
CASE stu_firstName
WHEN 'Preet' THEN 'Yes'
ELSE 'No'
END
AS RESULT
FROM student_details;
Le code susmentionné obtient le nom de famille de chaque étudiant ainsi qu’une nouvelle colonne nommée result
. Cette colonne de résultat a Yes
si le prénom de l’élève est Preet
.
La sortie du code ci-dessus peut être visualisée comme suit.
stu_lastName RESULT
Sanghavi Yes
John No
Brow No
Jos No
Shah No
Parker No
Miller No
De même, nous pouvons utiliser la déclaration CASE
pour exploiter les données et répondre à nos exigences. Une alternative à l’instruction CASE
est l’instruction IF
dans MySQL.
Ainsi, à l’aide de ce tutoriel, nous pouvons maintenant implémenter avec succès l’instruction CASE
dans MySQL.