Maison >base de données >tutoriel mysql >Comment puis-je utiliser la logique conditionnelle (IF-THEN) dans les instructions SQL SELECT ?

Comment puis-je utiliser la logique conditionnelle (IF-THEN) dans les instructions SQL SELECT ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2025-01-22 15:11:09703parcourir

How Can I Use Conditional Logic (IF-THEN) in SQL SELECT Statements?

Logique conditionnelle dans les instructions SQL SELECT : l'instruction CASE

SQL utilise l'instruction CASE pour gérer la logique conditionnelle dans les instructions SELECT, offrant une alternative puissante aux instructions IF traditionnelles.

Implémentation de la logique conditionnelle avec CASE

La structure fondamentale de la déclaration CASE est :

<code class="language-sql">CASE
    WHEN condition1 THEN result1
    WHEN condition2 THEN result2
    ...
    ELSE default_result
END</code>

Pour illustrer, considérons un scénario reflétant une IF...THEN construction :

<code class="language-sql">SELECT
    CASE
        WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1
        ELSE 0
    END AS Saleable,
    *
FROM Product;</code>

Autres considérations

  • Conversion de type de données : l'opérateur CAST peut être utilisé pour convertir explicitement la sortie de l'instruction CASE en un type de données booléen (bit) si nécessaire.
  • Instructions CASE imbriquées et fonctions d'agrégation : CASE les instructions prennent en charge l'imbrication et peuvent être efficacement intégrées dans les fonctions d'agrégation pour des agrégations conditionnelles complexes.
  • Instruction IIF (SQL Server 2012 et versions ultérieures) : SQL Server 2012 a introduit l'instruction IIF, présentant une option supplémentaire pour exprimer la logique conditionnelle.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn