Menu
Coddy logo textTech

CASE WHEN

Fait partie de la section Au-delà des bases du Journey SQL de Coddy. Leçon 1 sur 27.

Une expression CASE est un if/else if/else pour SQL. Elle se trouve à l’intérieur de SELECT (ou de ORDER BY, ou de WHERE) et produit une valeur par ligne.

SELECT name,
       CASE
           WHEN score >= 90 THEN 'A'
           WHEN score >= 75 THEN 'B'
           WHEN score >= 60 THEN 'C'
           ELSE 'F'
       END AS grade
FROM students

Chaque WHEN est vérifié de haut en bas ; la première correspondance l’emporte. Le ELSE est facultatif. Sans lui, les lignes sans correspondance obtiennent NULL.

Terminez toujours par END et donnez un nom à la colonne avec AS.

challenge icon

Défi

Facile

Tables et colonnes disponibles :

  • employees : id, name, department, salary

Pour chaque employé, renvoyez ses colonnes name, department et une colonne tier construite ainsi :

  • 'partner' lorsque salary >= 150000 (quel que soit le département)
  • 'senior' lorsque department = 'eng' et salary >= 100000
  • 'mid' lorsque salary >= 60000
  • 'entry' dans les autres cas

Triez par salary dans l’ordre décroissant. Notez que l’ordre des branches WHEN est important : la première correspondance l’emporte.

Essayez vous-même

SELECT name, department,
       -- niveau avec plusieurs branches WHEN qui mélangent salary et department
FROM employees
quiz iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Au-delà des bases

Entraînez-vous par vous-même : Playground SQL