Las comparaciones lógicas son la base del control condicional de PL/SQL, los resultados que nos arroja estas comparaciones son TRUE, FALSE y NULL.
Cualquier “cosa” que se compare con NULL retornará NULL.
Los operadores lógicos y de comparación son:

La sintaxis IF es la siguiente:

Notas:
Ejemplo 1:

Al ejecutar el código tenemos la salida:

Ejemplo 2:

La salida es la siguiente:

Este tipo de sentencia se usa para ejecutar un bloque de instrucciones basado en el valor de expresión de cambio. Una expresión debe ser de tipo INT, NUMBER, CHAR, entre otros. El valor de CASE debe ser un valor constante y tampoco se puede duplicar.
El valor de la expresión se compara con cada cláusula WHEN que haya. Si se encuentra una coincidencia, se ejecuta el bloque de instrucciones correspondiente. Si la expresión en el CASE no coincide con ninguna condición, entonces se ejecuta las instrucciones que tenga la sentencia ELSE. Si la expresión encuentra muchas coincidencias, ingresará sólo a la primera condición y ejecutará las instrucciones de ese bloque.
A continuación, se muestra la sintaxis de esta sentencia.

Notas:
Ejemplo 1:
Se hará el mismo ejemplo de los días de la semana usado en la explicación de la sentencia IF, pero ahora utilizando CASE.

La salida que obtenemos después de ejecutar este código es el siguiente:

Ejemplo 2:

Esto nos dará el siguiente resultado:

Observamos que se ejecuta la instrucción del ELSE debido a que no se encontró ninguna coincidencia.
Ejemplo 3:

Podemos ver que hay dos coincidencias con la letra M, pero como el código se ejecuta de arriba hacia abajo, entrará a la primera condición y hará las instrucciones correspondientes para luego terminar su ejecución.

Ejemplo 4:
Ahora se muestra la “segunda forma” de implementar esta sentencia que es cuando después de CASE no colocamos ninguna expresion. Para mostrar esto seguiremos usando el mismo ejemplo de los días de la semana.

Tenemos como resultado lo siguiente:

Es un tipo de bucle que se repite indefinidamente hasta que alcance una salida de bucle. Las salidas de bucle pueden ser las instrucciones EXIT o EXIT WHEN.
La sintaxis para el bucle LOOP es la que se muestra a continuación:

Nota: Los corchetes representan la parte del código que es opcional.
Para tener más claridad con esta sentencia, haremos algunos ejemplos mostrando las diferentes formas de implementarlo.
Ejemplo 1:
Utilizaremos la declaración EXIT para salir del bucle. Este tipo de salida de bucle se usa cuando se maneja la sentencia IF.

El siguiente código imprimirá en pantalla:

Ejemplo 2:
En este ejemplo vamos a implementar la declaración EXIT WHEN para salir del bucle. Terminará el ciclo sólo si la condición de salida es verdadera.

Al ejecutar el código obtenemos el siguiente resultado:

Permite repetir una secuencia de instrucciones un número fijo de veces. La sintaxis es:

Notas:
Ejemplo 1:

La salida es:

Ejemplo 2:

La salida es:

Ejemplo 3:
Usaremos la palabra reservada REVERSE para imprimir los números del 1 al 8 de manera descendente.

El resultado que se muestra en pantalla es:

El bucle WHILE permite repetir un bloque de instrucciones indefinidamente hasta que la condición controladora del ciclo deje de ser verdadera. Primero se verifica la condición y luego se ejecuta las instrucciones siempre y cuando la condición sea TRUE.
La sintaxis es:

Ejemplo:

Imprime en pantalla el siguiente resultado:
