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.