Maison >base de données >tutoriel mysql >Comment l'expression SQL CASE fonctionne-t-elle sur différents systèmes de bases de données ?
Syntaxe complète de l'expression SQL CASE
Les expressions SQL CASE sont conçues pour gérer des requêtes complexes, vous permettant d'évaluer plusieurs conditions et de renvoyer des valeurs spécifiques en fonction des conditions remplies. Sa syntaxe varie selon les différents moteurs de base de données.
SQL Serveur
La syntaxe générale de l'expression CASE de SQL Server est la suivante :
<code class="language-sql">CASE case-expression WHEN when-expression-1 THEN value-1 [ WHEN when-expression-n THEN value-n ... ] [ ELSE else-value ] END</code>
Oracle
La syntaxe des expressions CASE d'Oracle adopte une approche légèrement différente :
<code class="language-sql">CASE WHEN boolean-when-expression-1 THEN value-1 [ WHEN boolean-when-expression-n THEN value-n ... ] [ ELSE else-value ] END</code>
Composants de l'expression CASE
Sémantique d'exécution
L'expression CASE évalue chaque expression quand de manière séquentielle. Lorsqu'une correspondance est trouvée, la valeur correspondante est renvoyée. Si aucune correspondance n'est trouvée, renvoie la valeur else s'il y en a une. Notez que l'ordre des expressions quand est important car la première expression correspondante est prioritaire.
Exemple
Considérez la requête suivante :
<code class="language-sql">SELECT CASE student_age WHEN 18 THEN 'Teenager' WHEN 21 THEN 'Adult' ELSE 'Minor' END AS age_category FROM students;</code>
Cette requête attribue une catégorie d'âge à l'étudiant en fonction de son âge, "Adolescent" s'il a 18 ans, "Adulte" s'il a 21 ans, ou "Mineur" s'il a moins de 18 ans ou qu'aucune correspondance n'est trouvée.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!