L'instruction CASE dans MySQL

Preet Sanghavi 20 janvier 2022
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.

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

Article connexe - MySQL Statement