Está en la página 1de 17

DMC ONLINE #YoMeQuedoEnCasa

SESIÓN 02:

SQL for Analytics


Intermedio
DOCENTE: LUIS FELIPE GARAYAR BURNEO
CORREO: LUIS.GARAYAR.DMC@GMAIL.COM
DMC ONLINE

I. Transact SQL Avanzado


II. Manejo avanzado de tablas
III. Subconsultas y Vistas
IV. Variables, condicionales y bucles
V. Procedimientos y Funciones

w w w. d m c . p e
VI. Disparadores

#YoMeCapacitoEnCasa
Agenda
Manejo avanzado de tablas y modificación de Estructuras

1. Pivoteo de tablas (pivot, unpivot).


2. Uso de GROUP BY, GROUPING, SET, HAVING.
3. Expresiones comunes de tabla (CTE: WITH).
4. Manejo de subconsultas y tablas derivadas.
Pivoteo de tablas (pívot, unpivot)
Pivoteo de tablas (pívot, unpivot)
Uso de GROUP BY, GROUPING, SET, HAVING
Uso de GROUP BY, GROUPING, SET, HAVING

¿Si quiero la información agrupada de más maneras?

Agrupaciones Marginales

El total aparece en la siguiente fila:


Uso de GROUP BY, GROUPING, SET, HAVING

¿Cómo sabemos cual de los NULL es


un súper agregado y cual es un NULL
de verdad?
Hay una función llamada GROUPING que
nos dice cuando nuestro NULL es de verdad
y cuando no.
Uso de GROUP BY, GROUPING, SET, HAVING

ROLLUP genera un conjunto de resultados que muestra agregados para una jerarquía de valores
de las columnas seleccionadas.
Expresión común de tabla (CTE: WITH)

Los CTE se pueden usar para crear una


consulta recursiva y se pueden usar para
hacer referencia a sí mismos en múltiples
ocasiones. Los CTE se pueden usar en
lugar de las vistas y, finalmente, un CTE es
fácil y simple para facilitar la lectura y la
mantenibilidad del código.
Expresión común de tabla (CTE: WITH)
Manejo de subconsultas
Manejo de subconsultas

Es una sentencia SELECT que se encuentre dentro de una sentencia SELECT principal.
El principal objetivo es no crear tablas para consultas simples.
Las subconsultas se encierran entre paréntesis.
Este subquery se puede utilizar en la cláusula WHERE, HAVING o en FROM (tablas derivadas).

(1) Sintaxis usando subquery en WHERE:

SELECT
columna1,
columna2,

FROM tabla
WHERE expresión operador ( SELECT columna
FROM tabla);

Consideraciones:
- El subquery puede ser una sentencia SELECT que posea
WHERE, GROUP BY y HAVING pero no ORDER BY.
Manejo de subconsultas
SINGLE-ROW SUBQUERIES
(el subquery solo retorna 1 fila)

OPERADOR SIGNIFICADO
= Igual
> Mayor que
>= Mayor o igual que
< Menor que
<= Menor o igual que
<> Diferente
Manejo de subconsultas
OPERADOR SIGNIFICADO
Que sea igual a uno de los
IN
miembros de una lista
Debe ser precedido por una
operador de =, !=, >, <, <=, >=.
MULTIPLE-ROWS SUBQUERIES ANY Retorna TRUE si el valor a
(el subquery retorna mas de 1 fila) comparar cumple con al menos
un elemento de la lista.
Debe ser precedido por una
operador de =, !=, >, <, <=, >=.
ALL Retorna TRUE si el valor a
comparar cumple todos los
elementos de la lista.
Referencias

• Pivot
https://docs.microsoft.com/en-us/sql/t-sql/queries/from-using-pivot-and-unpivot?view=sql-server-ver15

• Sub Consultas
https://docs.microsoft.com/es-es/sql/relational-databases/performance/subqueries?view=sql-server-ver15

• Grouping
https://docs.microsoft.com/en-us/sql/t-sql/queries/select-group-by-transact-sql?view=sql-server-ver15

• WITH CTE
https://docs.microsoft.com/en-us/sql/t-sql/queries/with-common-table-expression-transact-sql?view=sql-server-
ver15
w w w. d m c . p e
¡GRACIAS!

También podría gustarte