Maison  >  Article  >  base de données  >  cas d'utilisation en SQL

cas d'utilisation en SQL

DDD
DDDoriginal
2023-07-17 15:37:366711parcourir

cas où in sql est utilisé pour effectuer différentes opérations basées sur différentes conditions dans les requêtes SQL. Vous pouvez porter des jugements en fonction de n'importe quelle condition et effectuer les opérations correspondantes en fonction des résultats des conditions. Le principe de fonctionnement de l'instruction CASE WHEN est de juger les conditions une par une de haut en bas. Une fois qu'une condition est remplie, l'opération correspondante est effectuée. sera effectuée, et seule la première qui satisfait à la condition sera exécutée.

cas d'utilisation en SQL

L'instruction CASE WHEN en SQL est une expression conditionnelle utilisée pour effectuer différentes opérations basées sur différentes conditions dans les requêtes SQL. Il peut juger en fonction de n'importe quelles conditions et effectuer les opérations correspondantes en fonction des résultats des conditions. En SQL, la syntaxe de l'instruction CASE WHEN est la suivante :

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END

Dans cette syntaxe, condition1 et condition2 sont des expressions conditionnelles, qui peuvent être n'importe quelle condition compatible SQL. result1 et result2 sont des résultats d'exécution, qui peuvent être des noms de colonnes, des valeurs constantes ou des expressions. Le résultat final ELSE est facultatif et est utilisé pour gérer d’autres situations dans lesquelles les conditions ne sont pas remplies.

Le principe de fonctionnement de l'instruction CASE WHEN est de juger les conditions une par une de haut en bas. Une fois qu'une condition est remplie, l'opération correspondante sera exécutée, et seule la première opération qui satisfait la condition sera exécutée. Si aucune condition n'est remplie, les opérations dans le bloc ELSE sont effectuées.

Voici quelques exemples d'instructions CASE WHEN :

1 Instruction CASE WHEN simple :

SELECT
customer_name,
CASE
WHEN gender = 'Male' THEN 'Mr.'
WHEN gender = 'Female' THEN 'Ms.'
ELSE 'Unknown'
END AS salutation
FROM
customers;

La requête ci-dessus générera différents titres en fonction du champ de sexe. Si le sexe est masculin, le titre sera "M.". .', si le genre est Féminin, le titre est 'Ms.', sinon il est 'Inconnu'.

2. Combinaison de l'instruction CASE WHEN et de la fonction d'agrégation :

SELECT
department_id,
COUNT(*) AS employees_count,
CASE
WHEN COUNT(*) > 10 THEN 'Large'
WHEN COUNT(*) > 5 THEN 'Medium'
ELSE 'Small'
END AS department_size
FROM
employees
GROUP BY
department_id;

La requête ci-dessus divisera les départements en trois catégories différentes : grand, moyen et petit en fonction du nombre d'employés dans chaque département.

3. Application de l'instruction CASE WHEN dans la clause WHERE :

SELECT
order_id,
order_date,
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END AS shipped_flag
FROM
orders
WHERE
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END = 1;

La requête ci-dessus ne renverra que les commandes qui ont été expédiées et la condition de filtre utilise l'instruction CASE WHEN.

Résumé

L'instruction CASE WHEN est une expression conditionnelle très utile en SQL qui peut effectuer différentes opérations en fonction de différentes conditions. Il offre un moyen flexible de gérer différents scénarios, rendant les requêtes plus concises et intuitives. Qu'il s'agisse de générer de nouvelles colonnes, de calculer des statistiques ou de filtrer des données, l'instruction CASE WHEN peut répondre à vos besoins et vous aider à optimiser les requêtes SQL.

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