Sentencia IF… ELSE de SQL Server: Ejemplo T-SQL

¿Por qué necesita declaraciones condicionales?

En la vida real, realizas muchas acciones que dependen del resultado de una acción o de alguna otra situación.

A continuación, se muestran algunos ejemplos en tiempo real:

  • Si mañana llueve, planeo un viaje por carretera.
  • Si los boletos de avión cuestan menos de $ 400 desde mi ciudad, entonces me voy de vacaciones a Europa o prefiero un lugar turístico cercano.

Aquí, ves una acción, como un viaje por carretera arriba depende de la condición otra actividad es el resultado de «¡si lloverá o no mañana!»

De manera similar, MS SQL brinda la capacidad de ejecutar una instrucción T-SQL de manera condicional.

En este tutorial, aprenderá:

SI … Otra declaración

En MS SQL, SI OTRO es una especie de Sentencia condicional.

Cualquier instrucción T-SQL se puede ejecutar condicionalmente usando SI OTRO.

La siguiente figura explica la declaración IF… ELSE

Cómo funciona y si funciona
  • Si la condición se evalúa para Cierto, luego declaraciones T-SQL y más allá DOS se ejecutará la palabra clave.
  • Si la condición se evalúa Falso, luego declaraciones T-SQL y más allá DEMÁS se ejecutará la palabra clave.
  • Una vez que se ejecutan las sentencias T-SQL IF o las sentencias T-SQL ELSE, proceden otras sentencias T-SQL incondicionales.

Sintaxis y reglas

Sintaxis:

IF <Condition>
     {Statement | Block_of_statement}   
[ ELSE   
     {Statement | Block_of_statement}]  

Reglas:

  • La condición debe ser Expresión booleana, es decir, El valor booleano conduce a una condición cuando se evalúa.
  • IF… ELSE puede manejar condicionalmente una sola declaración T-SQL o un bloque de declaraciones T-SQL.
  • El bloque de instrucciones debe comenzar con una palabra clave BEGIN y cerrar con una palabra clave END.
  • BEGIN y END ayudan al servidor SQL a identificar un bloque de instrucciones que debe ejecutarse y a separarlo del resto de las instrucciones T-SQL que no forman parte del bloque IF T T-SQL ELSE.
  • ELSE es opcional.

SI… OTRO con el mismo valor numérico en Expresión booleana.

Condición: VERDADERO

IF (1=1)
PRINT 'IF STATEMENT: CONDITION IS TRUE'
ELSE
PRINT 'ELSE STATEMENT: CONDITION IS FALSE'

Condición: FLASE

IF (1=2)
PRINT 'IF STATEMENT: CONDITION IS TRUE'
ELSE
PRINT 'ELSE STATEMENT: CONDITION IS FALSE'

Suposición: Suponga que tiene la mesa como ‘Guru99’ con dos columnas y cuatro filas como se muestra a continuación:

Usaremos ‘Guru99’ tabla en ejemplos adicionales

SI … OTRO con la variable en Expresión booleana.

Condición: VERDADERO

DECLARE @Course_ID INT = 4

IF (@Course_ID = 4)
Select * from Guru99 where Tutorial_ID = 4
ELSE
Select * from Guru99 where Tutorial_ID != 4

Condición: FLASE

DECLARE @Course_ID INT = 4

IF (@Course_ID != 4)
Select * from Guru99 where Tutorial_ID = 4
ELSE
Select * from Guru99 where Tutorial_ID != 4

SI … OTRO con Inicio Fin

Condición: VERDADERO

DECLARE @Course_ID INT = 2

IF (@Course_ID <=2)
	BEGIN
	Select * from Guru99 where Tutorial_ID = 1
	Select * from Guru99 where Tutorial_ID = 2
	END
ELSE
	BEGIN
	Select * from Guru99 where Tutorial_ID = 3
	Select * from Guru99 where Tutorial_ID = 4
	END

Condición: FALSO

DECLARE @Course_ID INT = 2

IF (@Course_ID >=3)
	BEGIN
	Select * from Guru99 where Tutorial_ID = 1
	Select * from Guru99 where Tutorial_ID = 2
	END
ELSE
	BEGIN
	Select * from Guru99 where Tutorial_ID = 3
	Select * from Guru99 where Tutorial_ID = 4
	END

Declaración IF de No Else

Puede utilizar la instrucción IF sin la parte ELSE. Recuerde que mencionamos que la parte ELSE es opcional. Por ejemplo:

DECLARE @Course_ID INT = 2

IF (@Course_ID <=2)
	Select * from Guru99 where Tutorial_ID = 1

Imprime lo siguiente:

Ninguna salida dará la condición falsa. Considere la siguiente pregunta

DECLARE @Course_ID INT = 2

IF (@Course_ID <=0)
	Select * from Guru99 where Tutorial_ID = 1

El resultado es

Incrustado SI … Otras declaraciones

A diferencia de otros lenguajes de programación, no puede agregar una instrucción ELSE IF en una instrucción IF… ELSE. Es por eso que puede incrustar OTRAS declaraciones. Mostrado a continuación:

 DECLARE @age INT;
SET @age = 60;

IF @age < 18
   PRINT 'underage';
ELSE
BEGIN
   IF @age < 50
      PRINT 'You are below 50';
   ELSE
      PRINT 'Senior';
END;
  • En este ejemplo, el código se imprimirá como menor de edad si el valor de @age es menor de 18.
  • De lo contrario, se ejecutará la parte ELSE. La parte ElSE está incrustada IF… ELSE.
  • Si el valor de @age es inferior a 50, se imprimirá Tiene menos de 50. Si no se cumple ninguna de estas condiciones, se imprimirá el código SEO.

Resumen:

  • Las variables son el objeto que actúa como ocupante.
  • El bloque de instrucciones debe comenzar con una palabra clave BEGIN y cerrar con una palabra clave END.
  • Otra opción es para usar en la instrucción IF… ELSE
  • Incrustar IF… ELSE en otro IF… también se puede hacer otra declaración.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Salir de la versión móvil