Déclaration de cas Oracle

Déclaration de cas Oracle
L'instruction de cas est une puissante expression conditionnelle dans Oracle qui permet à l'utilisateur d'effectuer une logique conditionnelle différente. L'instruction de cas peut améliorer les performances de la requête et gagner du temps en définissant plusieurs conditions dans une requête au lieu de plusieurs requêtes conditionnelles. À l'aide d'une instruction de cas, l'utilisateur peut définir plusieurs conditions et ses instructions correspondantes à exécuter, lorsque la condition est vraie. Si aucune des conditions déclarées n'est vraie, alors le bloc par défaut sera invoqué.

Ce guide expliquera:

  • Comment utiliser une déclaration de cas simple dans Oracle?
  • Comment utiliser la déclaration de cas Oracle dans une clause Where?
  • Comment utiliser la déclaration de cas Oracle dans une fonction agrégée?

Comment utiliser une déclaration de cas simple dans Oracle?

Pour utiliser un simple CAS déclaration dans Oracle, un «QUAND«La clause peut être utilisée pour une condition avec un«ALORS”Clause pour une sortie correspondante. La sortie par défaut peut être ajoutée en utilisant le "AUTRE»Clause. Dans le cas de plusieurs conditions, multiples «QUAND" et "ALORS»Les clauses peuvent être utilisées. Passons à la syntaxe de l'énoncé de cas:

CAS
Quand [condamnation] alors [résultat]
Lorsque [condition] alors [résultat]

Lorsque [condition] alors [résultat]
Else [Résultage par défaut]
FIN

Exemple 1: Énoncé de cas simple

Voyons un exemple d'une déclaration de cas simple en vérifiant le «statut”Colonne dans le"ordres" tableau:

Sélectionnez Order_id, Customer_ID, ORDER_DATE,
CAS
Quand status = 'expédié' alors '-> commander expédié'
Quand status = 'en attente' alors '-> commander en attente'
Else '-> commander annulé'
Terminer comme statut
Des ordres;

Sortir

La sortie montre que le résultat a été imprimé en fonction de l'instruction CASE donnée.

Exemple 2: Énoncé de cas utilisant la syntaxe des raccourcis

Une instruction de cas peut également être écrite en sténographie syntax.g., "statut»:

Sélectionnez Order_id, Customer_ID, ORDER_DATE,
État de cas
Quand «expédié» alors »-> Commande expédiée»
Quand «en attente» alors »-> commander en attente»
Else '-> commander annulé'
Terminer comme statut
Des ordres;

Sortir

La sortie a affiché le même résultat que l'exemple ci-dessus.

Comment utiliser une déclaration de cas Oracle dans une clause Where?

Le "»La clause est utilisée pour filtrer les données. L'énoncé de cas Oracle peut être utilisé dans le «”Clause pour le filtre conditionnel des données. L'exemple est donné ci-dessous:

Sélectionnez Product_id, Warehouse_id, Quantité
Des stocks

CAS
Quand la quantité> 200 puis 1
D'autre 0
Fin = 1;

Dans le code ci-dessus, le «Inventaires«Les données de la table sont filtrées en fonction de la condition spécifiée comme quantité valeur supérieure à 200.

Sortir

La sortie montre que les lignes avec une quantité supérieure à 200 ont été imprimées.

Comment utiliser une instruction Oracle Case dans une fonction agrégée?

Le fonctions agrégées sont utilisés pour calculer l'ensemble des valeurs et récupérer une seule valeur. L'instruction Oracle Case peut être utilisée dans une fonction agrégée pour effectuer le calcul conditionnel sur l'ensemble des valeurs. L'exemple est donné ci-dessous:

Sélectionnez Order_id, item_id, product_id, unit_price,
Somme (cas
Quand unit_price> = 470 alors la quantité
D'autre 0
Fin) comme quantité
De Order_Items
GROUPE BY ORDER_ID, ITEM_ID, Product_id, unit_price;

Dans l'exemple ci-dessus, la condition a été appliquée sur le «PRIX UNITAIRE”Colonne du"ITEMS COMMANDÉS" tableau.

Sortir

La sortie illustre que si le PRIX UNITAIRE la valeur a été supérieure à 470 alors la valeur de quantité a été montré sinon il a montré zéro (0).

Conclusion

L'instruction Oracle Case est utilisée pour définir plusieurs conditions ainsi que leur déclaration particulière à exécuter. Lorsqu'une condition est vraie, les instructions associées à cette condition seront exécutées, sinon, le bloc par défaut sera exécuté. Il peut également être utilisé dans le «”Clause pour filtrer conditionnellement les données ainsi que dans les fonctions agrégées pour effectuer des calculs conditionnels sur l'ensemble des valeurs. Le guide a fourni une explication détaillée avec des exemples sur la façon d'utiliser les instructions de cas Oracle.