You are on page 1of 33

Clase 07.

Data Analytics

FUNCIONES ESCALARES y
SUBCONSULTAS
● Generar transformaciones de datos con
funciones.
OBJETIVOS DE LA CLASE ● Identificar e implementar subconsultas
OBJETIVO: SQL PARA ANALISTAS DE DATOS

CLASE 8
• JOIN Y UNION 5
CLASE 7
4 • SUBCONSULTAS
CLASE 6 • FUNCIONES ESCALARES
• DEFINICIÓN Y
MANIPULACIÓN DE DATOS.
3
• SENTENCIAS COMUNES
CLASE 5
• SINTAXIS SQL Y SUS
2 CARACTERISTICAS
• SUBLENGUAJE DML

CLASE 4
• SUBLENGUAJE DDL 1
• INTRODUCCION LENGUAJE SQL.
¡PARA RECORDAR!

Antes de iniciar la clase, abrir la aplicación SQL


Management Studio y dejarla cargando.
FUNCIONES ESCALARES
CONCEPTO
Las funciones en SQL son un catálogo
de operaciones integradas a cada
sistema de gestión, que tienen como
objetivo facilitar la realización de
cálculos y transformaciones con los
datos almacenados en nuestra bases.
Es importante resaltar que las funciones
también pueden ser de tipo “usuario”.
Estas no están integradas, y son
creadas por desarrolladores de bases
datos expertos.
CONCEPTO

Las funciones más importantes son


las de agregación y las escalares.
Estas últimas permiten transformar
los datos, para corregir, modificar o
complementar la información
resultante de las consultas que
hacemos a una o varias tablas.
TIPOS DE FUNCIONES
Tipos
Existe una gran variedad de funciones escalares. Estas son las más usadas.

1 Caracteres o cadena 4 Conversión


Permiten manipular campos de Permiten convertir datos de un
texto o alfanuméricos. tipo a otro.

2 Fecha y tiempo
3 Matemáticas
Permite manipular y segmentar
Permiten realizar cálculos sobre
los datos en periodos de
campos de valores numéricos.
tiempo.
1
CARACTERES
Caracteres
Función Operación Ejemplo

LEFT Extrae caracteres iniciando desde el lado LEFT(Campo1, cantidad de


izquierdo caracteres)

RIGHT Extrae caracteres iniciando desde el lado RIGHT(Campo1, cantidad de


derecho caracteres)

CONCAT Permite unir campos o caracteres RIGHT(Campo1, Campo2,


“texto”)

REPLACE Permite reemplazar caracteres en un campo REPLACE(Campo1, caracter a


reemplazar, caracter nuevo)

UPPER/LOWER Permite convertir todos los valores a UPPER(Campo1)


mayúsculas o minúsculas, respectivmente

TRIM Elimina espacios al inicio y al final del valor. Trim(Campo1)


2
FECHA Y TIEMPO
Fecha y tiempo
Función Operación Ejemplo

YEAR / MONTH / Devuelve el periodo de tiempo del campo YEAR(Campo1)


DAY fecha

DATEPART / Devuelven el número y el texto DATEPART(Month, Campo1)


DATENAME respectivamente, del periodo de tiempo DATENAME(Month, Campo1)
correspondiente DATEPART(Day, Campo1)
DATENAME(Day, Campo1)

DATEADD Permite agregar la cantidad de períodos que DATEADD(periodo,


se especifique a una fecha. cantidad, Campo1 )

DATEDIFF Permite calcular la diferencia entre una fecha DATEDIFF(periodo,


y otra. FechaInicial,
FechaFinal)
3y4
MATEMÁTICAS Y CONVERSIÓN
Matemáticas
Función Operación Ejemplo

FLOOR Devuelve la parte entera del FLOOR(Campo1)


campo decimal

ABS Devuelve el valor absoluto ABS(Campo2)

Conversión
Función Operación Ejemplo

CAST Convierte el campo de una tipo de CAST(Campo1 AS nuevo tipo de


datos a otro datos)
SUBCONSULTAS
CONCEPTO
También llamada consulta anidada o
concatenada, consiste en una
sentencia select dentro de otra
select.
Las ventajas más importantes son:
- Permitir desarrollar consultas
compuestas
- No es obligatorio usar joins
- El código SQL es más fácil de
leer.
CARACTERÍSTICAS
● Puede retornar un escalar (un valor único),
una lista (varios valores), un registro o
hasta una tabla.

● Puede contener cualquiera de los


comandos de un select común:
DISTINCT, ORDER BY, GROUP BY, LIMIT.

● Puede contener join, unión, comentarios,


funciones, etcétera.
SINTAXIS
Ejemplo subconsulta de valores en lista: se requiere
Ejemplo subconsulta de valor escalar: se requiere
consultar el total de compra de los clientes que
consultar cual es el cliente que compro mas productos
compraron escritorios.
en plata.

Select
N_Cliente,
sum(total) as CompraTotal
Select
from
*
ventas
from
where Clave = (Select Clave
ventas
from Productos where
where total = (Select
Descripcion = 'Escritorio’)
max(total) from ventas )
Group by N_Cliente
RESTRICCIONES

La consulta externa debe ser con comandos solo DML no DDL.

No se puede modificar una tabla y al mismo tiempo usarla en


subconsulta.

DELETE FROM tabla1 where … (SELECT .. FROM tabla1) X

UPDATE tabla1 where campo1 = (SELECT .. FROM tabla1) X

INSERT into tabla1 (SELECT .. FROM tabla1) X


¡VAMOS A PRACTICAR LO VISTO!

BREAK
¡5/10 MINUTOS Y VOLVEMOS!
PRACTICA SQL
Consultas SQL con funciones especiales y subconsultas.
Tiempo aproximado: 35 Minutos
Cada una de las consignas a continuación corresponde a la consulta de una tabla
dentro de la base de datos. Para resolverlas deberás identificar cuándo es necesario
que la consulta contenga alguno o varios de los siguientes componentes:
● Where
● Operadores lógicos/relacionales.
● Función de agregación
● Función escalar.
● Subconsulta.
Consignas

1. Indicar cuantos cursos y carreras tiene el área de Data. Renombrar la nueva columna
como cant_asignaturas. Keywords: Tipo, Área, Asignaturas.
2. Se requiere saber cual es el nombre, el documento y el teléfono de los estudiantes que
son profesionales en agronomía y que nacieron entre el año 1970 y el año 2000.
Keywords: Estudiantes, Profesión, fecha de Nacimiento.
3. Se requiere un listado de los docentes que ingresaron en el año 2021 y concatenar los
campos nombre y apellido. El resultado debe utilizar un separador: guión (-). Ejemplo:
Elba-Jimenez. Renombrar la nueva columna como Nombres_Apellidos. Los resultados de
la nueva columna deben estar en mayúsculas. Keywords: Staff, Fecha Ingreso, Nombre,
Apellido.
Consignas

4. Indicar la cantidad de encargados de docentes y de tutores. Renombrar la columna


como CantEncargados. Quitar la palabra ”Encargado ”en cada uno de los registros.
Renombrar la columna como NuevoTipo. Keywords: Encargado, tipo, Encargado_ID.
5. Indicar cual es el precio promedio de las carreras y los cursos por jornada. Renombrar la
nueva columna como Promedio. Ordenar los promedios de Mayor a menor Keywords:
Tipo, Jornada, Asignaturas.
6. Se requiere calcular la edad de los estudiantes en una nueva columna. Renombrar a la
nueva columna Edad. Filtrar solo los que son mayores de 18 años. Ordenar de Menor a
Mayor Keywords: Fecha de Nacimiento, Estudiantes.
7. Se requiere saber el Nombre,el correo, la camada y la fecha de ingreso de personas del
staff que contienen correo .edu y su DocenteID se mayor o igual que 100 Keywords:
Staff, correo, DocentesID
Consignas

8. Se requiere conocer el documento, el domicilio el código postal y el nombre de los


primeros estudiantes que se registraron en la plataforma. Keywords: Documento,
Estudiantes, Fecha Ingreso.
9. Indicar el nombre apellido y documento de los docentes y tutores que tienen asignaturas
“UX” . Keywords: Staff, Asignaturas, Nombre, Apellido.
10. Se desea calcular el 25% de aumento para las asignaturas del área de marketing de la
jornada mañana se deben traer todos los campos, mas el de los cálculos
correspondientes el porcentaje y el Nuevo costo debe estar en decimal con 3 digitos.
Renombrar el calculo del porcentaje con el nombre porcentaje y la suma del costo mas el
porcentaje por NuevoCosto. Keywords: Asignaturas, Costo, Área, Jornada, Nombre
¿QUIERES SABER MÁS? TE DEJAMOS
MATERIAL AMPLIADO DE LA CLASE
● Video: Instructivo de subconsultas | Canal en
YouTube: Código Facilito
● Artículo: Business Analytics Translator: el rol de la
creatividad analítica en la toma de decisiones
estratégicas | Josefina Zbar
¿PREGUNTAS?
¡MUCHAS GRACIAS!
Resumen de lo visto en clase hoy:
- Funciones escalares.
- Subconsultas SQL
OPINA Y VALORA ESTA CLASE
#DEMOCRATIZANDOLAEDUCACIÓN

You might also like