Está en la página 1de 10

Contenido

• Repaso lenguaje SQL


• Sintaxis de sentencias Select, Update, Insert y Delete
• Control de flujo
• Case when
Contenido
Repaso lenguaje SQL
• Control de flujo:
• Case when
• Funciones
• Left, right, length, round, getdate, dayofweek, datepart, month, year
• Where: operadores lógicos y expresiones lógicas (AND,OR y NOT) y operadores de
comparación (>,<,>=,<=,!=,<> y =)
Lenguaje SQL:
• Relaciones entre tablas: inner join, left join, right join, full join y cross join.
• Utilizando Order by/Group by/Having: Funciones de agregado
(SUM,COUNT,AVG,MIN,MAX,etc)
• Creación de sub-consultas: subconsulta en select, from y where. Utilización de
IN/ANY/SOME/ALL.
• Otros elementos de la base de datos
• Vistas: creación y utilización.
Case When
La instrucción CASE pasa por condiciones y devuelve un valor cuando se cumple la
primera condición (como una instrucción IF-THEN-ELSE). Por lo tanto, una vez que una
condición es verdadera, dejará de leer y devolverá el resultado. Si no hay condiciones
true, devuelve el valor de la cláusula ELSE.

Si no hay ninguna parte ELSE y no hay condiciones true, devuelve NULL.

SQL CASE Statement (w3schools.com)


Case When
Declare @Grado int

Set @Grado = 2

select Case @Grado


When 1 then
'Primero'
When 2 then
'Segundo'
When 3 then
'Tercero'
Else
'Otros'
End as Descripcion

Select Case When @Grado = 1 then 'Primero'


When @Grado = 2 then 'Segundo'
When @Grado = 3 then 'Tercero'
Else 'Otros'
End as Descripcion
Case When
Case When

Los datos de un columna deben ser compatibles, cuando


utilizamos CASE WHEN para presentar diferentes resultados,
los resultados deben ser compatibles
Ejercicio de clase (Case When)
Ventas Totales por Trimestre Año 1997
Empleados I Trimestre II Trimestre III Trimestre IV Trimestre Total

Tablas: Employees, Orders, Order Details (Relacionarlas)

Solo debe presentar una fila por


empleado, con la información Las ventas deben ser calculadas de la
solicitada información de Orders, siendo el
producto de cantidad * precio unidad

Para este ejercicio debe utilizar la base de datos Northwind proporcionada en la clase.
Para esta consulta deben hacer un select con agrupación (Group) y la función sum () para
consolidar la información, en este caso deben combinar Case When junto con la función Sum()
Temas recomendados para investigar
Los siguientes operadores son utilizados en la sección de WHERE para
poder definir criterios de filtrado con los datos que van a ser
mostrados o modificados.
Operadores
• Paréntesis ( )
• NOT
• AND,
• BETWEEN,
• IN,
• LIKE,
• OR
Case When
CASE [expression]
WHEN [value | Boolean expression] THEN
[return value]
[ELSE [return value]]
END

La [expression] es opcional y contiene el nombre de


columna o de variable.

Ejemplo:
SELECT CASE Grado WHEN 1 THEN ‘Primero’ WHEN 2 THEN 'Segundo’
WHEN 3 THEN ‘Tercero’ ELSE ‘Otros’ END
Ejemplos del uso de Join
Clientes Factura
Idcliente Nombre IdFactura Fecha IdCliente
1 Pedro 1000 12-dic 1
2 Juan 1001 13-dic 2
3 Maria 1002 13-dic 2
4 Angel 1003 15-dic 3
999 12-dic 20

IdCliente Nombre Factura Fecha IdCliente Nombre Factura Fecha IdCliente Nombre Factura Fecha
Inner 1 Pedro 1000 12-dic Rigth 1 Pedro 1000 12-dic Cross 1 Pedro 1000 12-dic
2 Juan 1001 13-dic 2 Juan 1001 13-dic 1 Pedro 1001 13-dic
2 Juan 1002 13-dic 2 Juan 1002 13-dic 1 Pedro 1002 13-dic
3 Maria 1003 15-dic 3 Maria 1003 15-dic 1 Pedro 1003 15-dic
NULL NULL 999 12-dic 1 Pedro 999 12-dic
2 Juan 1000 12-dic
IdCliente Nombre Factura Fecha IdCliente Nombre Factura Fecha 2 Juan 1001 13-dic
Left 1 Pedro 1000 12-dic Full 1 Pedro 1000 12-dic 2 Juan 1002 13-dic
2 Juan 1001 13-dic 2 Juan 1001 13-dic 2 Juan 1003 15-dic
2 Juan 1002 13-dic 2 Juan 1002 13-dic 2 Juan 999 12-dic
3 Maria 1003 15-dic 3 Maria 1003 15-dic 3 Maria 1000 12-dic
4 Angel NULL NULL NULL NULL 999 12-dic 3 Maria 1001 13-dic
4 Angel NULL NULL 3 Maria 1002 13-dic
3 Maria 1003 15-dic
3 Maria 999 12-dic
4 Angel 1000 12-dic
4 Angel 1001 13-dic
4 Angel 1002 13-dic
4 Angel 1003 15-dic
4 Angel 999 12-dic

También podría gustarte