Maison > base de données > tutoriel mysql > Comment puis-je exécuter une logique conditionnelle dans les instructions SQL SELECT ?

Comment puis-je exécuter une logique conditionnelle dans les instructions SQL SELECT ?

Susan Sarandon
Libérer: 2025-01-22 15:16:10
original
790 Les gens l'ont consulté

How Can I Perform Conditional Logic in SQL SELECT Statements?

Logique conditionnelle dans les instructions SQL SELECT : un guide complet

SQL nécessite souvent une logique conditionnelle dans les instructions SELECT pour modifier ou filtrer les données. L'instruction CASE fournit une solution polyvalente, prise en charge dans de nombreux dialectes SQL.

Pour imiter une structure IF...THEN dans une requête SELECT, utilisez l'instruction CASE comme indiqué ci-dessous :

<code class="language-sql">SELECT CAST(
    CASE
        WHEN condition1 OR condition2 THEN value_if_true
        ELSE value_if_false
    END AS data_type) AS new_column, *
FROM table_name;</code>
Copier après la connexion

Voici un aperçu de la syntaxe :

  • condition1 et condition2 : Les conditions à évaluer.
  • value_if_true et value_if_false : Les valeurs renvoyées selon que les conditions sont vraies ou fausses.
  • data_type : Le type de données du new_column résultat.
  • table_name : La table à partir de laquelle les données sont sélectionnées.

Par exemple, pour ajouter une colonne Saleable à un tableau Product, indiquant la disponibilité du produit en fonction du statut Obsolete et InStock :

<code class="language-sql">SELECT CAST(
    CASE
        WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1
        ELSE 0
    END AS bit) AS Saleable, *
FROM Product;</code>
Copier après la connexion

Une version simplifiée, en omettant CAST, donne un résultat entier :

<code class="language-sql">SELECT CASE
    WHEN Obsolete = 'N' OR InStock = 'Y' THEN 1
    ELSE 0
END AS Saleable, *
FROM Product;</code>
Copier après la connexion
Les instructions

CASE peuvent être imbriquées ou intégrées dans des fonctions d'agrégation. De plus, SQL Server 2012 a introduit l'instruction IIF, offrant une syntaxe concise alternative :

<code class="language-sql">SELECT IIF(Obsolete = 'N' OR InStock = 'Y', 1, 0) AS Saleable, *
FROM Product;</code>
Copier après la connexion

Cela simplifie la logique conditionnelle dans vos SELECT instructions, offrant flexibilité et efficacité dans la manipulation des données.

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal