Saltar al contenido

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

Sintaxis y reglas

Sintaxis:

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

Reglas:

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;

Resumen: