Case SQL : Quelle est cette requête et comment l’utiliser ?

-
3
 m de lecture
-
requête_sql_case

Le langage de programmation SQL est un outil précieux pour les développeurs et les experts. En effet, grâce à une multitude de requêtes, il est possible de manipuler les données et les systèmes de bases de données relationnelles. Parmi les commandes incontournables, il y a CASE SQL. À quoi sert cette requête ? Et comment l’utiliser ? Découvrez les réponses dans cet article.

Qu’est-ce que la commande CASE ?

En langage informatique, la commande CASE/WHEN répond aux mêmes objectifs que la fonction SI/SINON (ou IF/ELSE). À savoir retourner un résultat parmi plusieurs possibilités. 

Selon la syntaxe utilisée, CASE permet de :

1º Comparer une donnée à un set de résultat possible. Dans ce cas, voici la syntaxe de CASE SQL : 

CASE 

WHEN expression THEN résultat 

ELSE autre résultat

END

2 º Déterminer un résultat en élaborant plusieurs expressions booléennes (vrai ou faux). La syntaxe est la suivante : 

CASE 

WHEN expression booléenne THEN résultat 

ELSE autre résultat

END

Bon à savoir : dans les deux cas, la clause ELSE est facultative. Cela permet de définir une valeur dans l’hypothèse où les conditions WHEN ne sont pas respectées. 

Au-delà de ces syntaxes simplifiées, la requête CASE SQL est très souvent utilisée avec d’autres commandes.

Quelles sont les autres commandes à utiliser avec CASE SQL ?

Afin d’enrichir la base de données, la requête CASE SQL peut être utilisée avec d’autres commandes. Voici les principales et leurs différentes fonctionnalités : 

  • SELECT : c’est l’une des requêtes SQL les plus courantes. Elle permet en effet de sélectionner des colonnes à l’intérieur d’une table. 
  • UPDATE : cette commande permet de mettre à jour une colonne. 
  • DELETE : il s’agit de supprimer une ou plusieurs colonnes. 
  • ORDER BY : cette requête permet de classer les données de la table (ordre décroissant ou croissant). 
  • GROUP BY : cela permet de regrouper des données en fonction d’une condition définie. 
  • INSERT INTO : si vous souhaitez ajouter d’autres informations dans votre table de données. 
  • SUM : il s’agit de réaliser des sommes (d’un produit, d’un prix, …). 
  • HAVING : pour retreindre des lignes.

Ceci étant dit, nous allons voir quelques exemples d’utilisation concrets.

3 exemples d’utilisation de CASE SQL

Afin de vous aider à mieux comprendre l’utilisation de CASE SQL, voici plusieurs exemples concrets. 

Pour chacun d’entre eux, nous allons utiliser ce tableau « Achat ». L’objectif de l’entreprise est de définir le bon prix. Pour cela, elle se base sur le taux de marge réalisé.

ID Nom du produit Marge Quantité Prix unitaire
1 Produit 1 1 1 50
2 Produit 2 1,25 3 70
3 Produit 3 0,75 2 60
4 Produit 4 1,5 2 80

Message personnalisé

L’objectif est d’informer les décisionnaires sur le positionnement des prix de chaque produit. Pour cela, il est possible d’utiliser la requête CASE SQL. 

Voici la syntaxe : 

SELECT id, nom du produit, marge,quantité, prix unitaire, 

    CASE 

      WHEN marge > 1 THEN ‘Prix élevé’

      WHEN marge < 1 THEN ‘Prix bas’

      ELSE ‘Prix normal’

    END

FROM `Achat`

Et le résultat :

ID Nom du produit Marge Quantité Prix unitaire CASE
1 Produit 1 1 1 50 Prix normal
2 Produit 2 1,25 3 70 Prix élevé
3 Produit 3 0,75 2 60 Prix bas
4 Produit 4 1,5 2 80 Prix élevé

Modification du prix unitaire

Afin d’ajuster sa politique tarifaire, l’entreprise souhaite modifier ses prix en fonction de sa marge : réduire de 10 % lorsque la marge est positive et augmenter de 10 %, lorsqu’elle est négative. 

Là encore, l’utilisation des conditions et de la commande CASE SQL permettent de modifier rapidement la base de données. 

Voici la syntaxe : 

SELECT id, nom du produit, marge,quantité, prix unitaire, 

    CASE 

      WHEN marge > 1 THEN ‘Prix unitaire * 0,9’

      WHEN marge < 1 THEN ‘Prix unitaire * 1,1’

      ELSE ‘Prix unitaire’

    END

FROM `Achat`

Et le résultat :

ID Nom du produit Marge Quantité Prix unitaire
1 Produit 1 1 1 50
2 Produit 2 1,25 3 63
3 Produit 3 0,75 2 66
4 Produit 4 1,5 2 72

Actualisation de la quantité

Au-delà de la SELECT, la requête CASE SQL peut aussi être utilisée avec d’autres commandes, comme UPDATE.

Afin de vous aider à visualiser cette requête, voici un scénario hypothétique. 

Pour tous les produits présentant une marge positive, l’entreprise offre un autre produit supplémentaire. Dans ce cadre, il faudra mettre à jour le tableau. 

Voici comment faire : 

UPDATE `achat`

SET `quantité` = (

    CASE  

      WHEN marge > 1 THEN ‘Quantité +  1’

      ELSE ‘Quantité’

    END

)

Et le résultat :

ID Nom du produit Marge Quantité Prix unitaire
1 Produit 1 1 1 50
2 Produit 2 1,25 4 70
3 Produit 3 0,75 2 60
4 Produit 4 1,5 3 80

Il ne s’agit que de quelques exemples simplifiés. Si vous souhaitez en savoir plus sur les différents cas d’utilisation de la requête CASE SQL, suivez notre formation chez DataScientest.

Développez vos compétences en langage informatique avec DataScientest

Au-delà de la requête CASE SQL, le structured query langage regorge d’une multitude de commandes pour manipuler les bases de données. Pour toutes les appréhender, il est indispensable de se former. C’est justement pour cette raison que nous vous proposons diverses formations chez Datascientest.

Facebook
Twitter
LinkedIn

DataScientest News

Inscrivez-vous à notre Newsletter pour recevoir nos guides, tutoriels, et les dernières actualités data directement dans votre boîte mail.

Vous souhaitez être alerté des nouveaux contenus en data science et intelligence artificielle ?

Laissez-nous votre e-mail, pour que nous puissions vous envoyer vos nouveaux articles au moment de leur publication !

Newsletter icone
icon newsletter

DataNews

Vous souhaitez recevoir notre
newsletter Data hebdomadaire ?