Declaración de casos de Oracle

Declaración de casos de Oracle
La declaración de casos es una expresión condicional poderosa en Oracle que permite al usuario realizar una lógica condicional diferente. La declaración de caso puede mejorar el rendimiento de la consulta y ahorrar tiempo definiendo múltiples condiciones en una consulta en lugar de múltiples consultas condicionales. Con la ayuda de una declaración de caso, el usuario puede definir múltiples condiciones y sus declaraciones correspondientes para ejecutar, cuando la condición es verdadera. Si ninguna de las condiciones establecidas es verdadera, se invocará el bloque predeterminado.

Esta guía explicará:

  • Cómo usar una instrucción de caso simple en Oracle?
  • Cómo usar la declaración de caso Oracle en una cláusula WHERE?
  • Cómo usar la instrucción Oracle Case en una función agregada?

Cómo usar una instrucción de caso simple en Oracle?

Para usar un simple CASO Declaración en Oracle, A "CUANDO"La cláusula se puede usar para una condición con un"ENTONCES"Cláusula para una salida correspondiente. La salida predeterminada se puede agregar usando el "DEMÁS"Cláusula. En el caso de múltiples condiciones, múltiples "CUANDO" y "ENTONCESSe pueden usar cláusulas. Pasemos a la sintaxis de la declaración del caso:

CASO
Cuando [condena] entonces [resultado]
Cuando [condición] entonces [resultado]

Cuando [condición] entonces [resultado]
Else [RESULTADO POR LA PORTUNDO]
FIN

Ejemplo 1: Declaración de caso simple

Veamos un ejemplo de una declaración de caso simple verificando el "estadoColumna "en el"pedidos" mesa:

Seleccione Order_id, Customer_id, Order_date,
CASO
Cuando status = 'enviado' entonces ' -> orden enviado'
Cuando status = 'pendiente' entonces ' -> ordenar pendiente'
Else ' -> pedido cancelado'
Finalizar como estado
De órdenes;

Producción

La salida muestra que el resultado se ha imprimido de acuerdo con la declaración de caso dada.

Ejemplo 2: Declaración de casos utilizando sintaxis en taquigrafía

Una instrucción de caso también se puede escribir en sintaxis de taquigrafía que omite la expresión después de la palabra clave del caso y usa directamente el nombre de la columna, e.gramo., "estado":

Seleccione Order_id, Customer_id, Order_date,
Estado de la caja
Cuando 'envió' entonces ' -> ordenado enviado'
Cuando 'pendiente' entonces ' -> ordene pendiente'
Else ' -> pedido cancelado'
Finalizar como estado
De órdenes;

Producción

La salida mostró el mismo resultado que el ejemplo anterior.

Cómo usar una declaración de caso Oracle en una cláusula Where?

El "DÓNDESe utiliza la cláusula para filtrar los datos. La instrucción Oracle Case se puede usar en el "DÓNDE"Cláusula para el filtro condicional de los datos. El ejemplo se da a continuación:

Seleccione Product_ID, Warehouse_id, cantidad
De inventarios
DÓNDE
CASO
Cuando la cantidad> 200 entonces 1
De lo contrario 0
Final = 1;

En el código anterior, el "Inventarios"Los datos de la tabla se filtran de acuerdo con la condición especificada como cantidad valor mayor que 200.

Producción

La salida representa que las filas con una cantidad superior a 200 se han impreso.

Cómo usar una declaración de caso Oracle en una función agregada?

El Funciones agregadas se utilizan para calcular el conjunto de valores y recuperar un solo valor. La declaración de caso Oracle se puede usar en una función agregada para realizar el cálculo condicional en el conjunto de valores. El ejemplo se da a continuación:

Seleccione Order_id, item_id, product_id, unit_price,
Suma (caso
Cuando unit_price> = 470 entonces cantidad
De lo contrario 0
Fin) como cantidad
De Order_Items
Grupo por orden_id, item_id, product_id, unit_price;

En el ejemplo anterior, la condición se ha aplicado en el "PRECIO UNITARIO"Columna del"ENCARGAR ARTÍCULOS" mesa.

Producción

La salida representa que si el PRECIO UNITARIO el valor ha sido mayor que 470 Entonces el valor de cantidad se ha demostrado de lo contrario que mostró cero (0).

Conclusión

La declaración de caso Oracle se utiliza para definir múltiples condiciones junto con su declaración particular para ejecutar. Cuando una condición es verdadera, las declaraciones asociadas con esa condición se ejecutarán, de lo contrario, el bloque predeterminado se ejecutará. También se puede usar en el "DÓNDE"Cláusula para filtrar condicionalmente los datos, así como en las funciones agregadas para realizar cálculos condicionales en el conjunto de valores. La guía ha proporcionado una explicación detallada con ejemplos de cómo usar las declaraciones de caso Oracle.