0% encontró este documento útil (0 votos)
14 vistas17 páginas

Clase SQL - Parte 2

clase 2 SQL

Cargado por

mat
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas17 páginas

Clase SQL - Parte 2

clase 2 SQL

Cargado por

mat
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd

BONUS TRACK Data Analytics con Power BI

SQL (Parte 2)
- Que es una Base de Datos
- Seleccionar Datos (Where)
- Agregación de datos (Sum, Avg, count)
- Tipos de JOIN
- Alias
- Having
- Case When
- Conexión a PowerBI
SQL
JOINS
 Tablas relacionadas: Para referenciar información que se encuentra en otra tabla se utiliza una
columna de ambas tablas , la cual es usada como referencia (normalmente llamada key)

En este caso la columna en común usada


como referencia es AddresID

Podemos -a través del campo clave- traer información de la segunda tabla que no existe en la primera y de
esa forma crear una tabla personalizada que no existe en el modelo
En este caso podríamos traer para cada persona que hay en la tabla tPersons, ciudad y estado de la tabla
tAdresses y el campo en común por el cual se relacionan, que es AddressId
SQL
JOINS
Existen distintos tipos de joins, para producir varios posibles resultados:
 Inner Join: Devuelve como resultado los datos de la intersección entre las tablas.
 Left Outer Join: Devuelve todos los datos de la tabla de la izquierda y aquellos que coincidan con los
de la derecha.
 Right Outer Join: Devuelve todos los datos de la tabla de la derecha y aquellos que coincidan con los
de la izquieda.
 Full Outer Join: Devuelve los datos completos de ambas tablas.

Nombres similares y
mismo funcionamiento
que en los merge de
Power BI
SQL
JOINS
 Inner Join:
Es uno de los mas utilizados , nos trae solamente la informacion de ambas tablas en donde existe coincidencia en el
campo relacionado
Se puede utilizar la palabra join , ya que el lenguaje por defecto siempre utiliza el inner join salvo que se lo
especifiquemos
Palabra reservada de SQL.
Sintaxis: Indica los campos que
vamos a utilizar como
Especificamos el tipo de referencia
Join que vamos a utilizar

SELECT * FROM Libros JOIN Generos ON Libros.Id_genero = Generos.Id_genero

Seleccionamos la primera Seleccionamos la segunda tabla (de Indicamos los campos clave de
tabla (todas sus columnas) donde vamos a traer información) ambas tablas separadas por el
signo =
SQL
JOINS
Esta consulta arroja el siguiente resultado:

Si revisamos ambas tablas por separado vemos que las coincidencias son correctas
SQL
JOINS
 Left Join:
Esta consulta nos trae de la primer tabla o tabla de la izquierda todos los registros y de la segunda tabla o tabla de la
derecha en donde encontró coincidencia nos devuelve el dato correspondiente y en donde no existe nos deja un campo
NULL (nulo)

Sintaxis: Palabra reservada de SQL que indica los


campos que vamos a utilizar como
Especificamos el tipo de Join referencia
que vamos a utilizar

SELECT * FROM Libros LEFT JOIN Generos ON Libros.Id_genero =


Generos.Id_genero

Seleccionamos la primer tabla Seleccionamos la segunda Indicamos los campos clave


(todas las columnas) tabla (de donde vamos a traer de ambas tablas separadas
información) por el signo =
SQL
JOINS
Esta consulta arroja el siguiente resultado:

Devuelve todos los datos de la tabla libros y en


donde no encontró un genero que coincide
completo con NULL
SQL
JOINS
 Right Join :
Esta consulta nos trae de la segunda tabla todos los resultados y de la primera solamente los campos en donde existe
coincidencia

Sintaxis: Palabra reservada de SQL para indicar los


campos que vamos a utilizar como referencia
Especificamos el tipo de Join
que vamos a utilizar

SELECT * FROM Libros RIGHT JOIN Generos ON Libros.Id_genero =


Generos.Id_genero

Seleccionamos la primera Seleccionamos la segunda Indicamos los campos clave


tabla (todas las columnas) tabla (de donde vamos a traer de ambas tablas separadas
información) por el signo =
SQL
JOINS
Esta consulta arroja el siguiente resultado:

No incluyó el libro “Padre Rico, Padre Pobre” porque en


la tabla de géneros no existe ese ID.
Además devolvió dos géneros para los cuales no existe
ningún libro
SQL
FILTERS
Filtros:
Al igual que con las consultas de seleccion , cuando realizamos joins entre distintas tablas tambien podemos
filtrar los resultados de las consultas utilizando la clausula WHERE

SELECT nombre, genero, precio FROM Libros JOIN Generos ON


Libros.Id_genero = Generos.Id_genero WHERE [Link]>2000

Siempre que quieran hacer referencia a un campo del tipo NULL en vez de utilizar el signo = se utiliza la
palabra IS

Ej: SELECT * FROM libros WHERE id_Genero IS NULL


SQL
ALIAS

Alias: Cuando las tablas tienen nombres similares , complicados o muy largos se pueden utilizar alias
dentro de la consulta para renombrar (solo en el ambito de la consulta) las tablas por un nombre mas
corto y simple
Ej:
SELECT * FROM Libros JOIN Generos ON Libros.Id_genero =
Generos.Id_genero

Es lo mismo que escribir:


SELECT * FROM Libros AS l JOIN Generos AS g ON l.Id_genero=g.Id_genero

Aqui estamos renombrando Aqui estamos utilizando los


las respectivas tablas con un alias de cada tabla para
alias especificar las columnas a
utilizar
SQL
HAVING
HAVING: Esta sentencia sirve para filtrar los resultados de una consulta agrupada.

Ejemplos:

SELECT [Link], AVG([Link]) FROM Libros GROUP BY [Link] HAVING


AVG([Link]) > 1400

SELECT SUM([Link]) as Suma, [Link] FROM Libros LEFT JOIN Generos ON


Libros.id_Genero=Generos.Id_Genero GROUP BY [Link] HAVING SUM([Link]) > 500 ORDER BY Suma

 Importante: solo se puede filtrar usando HAVING usando algunas funciones de agrupación específicas (Ej. SUM,
COUNT, MAX, SUM)
SQL
CASE WHEN
CASE WHEN: O formato condicional, lo aplicamos cuando queremos que una columna tome ciertos
valores dependiendo del valor original de la misma (si X entonces Y). Es el equivalente a las
estructuras IF-THEN-ELSE que se usa en lenguajes de programación o la función “SI” de Excel.

Ejemplos:

SELECT [Link], [Link], CASE WHEN [Link] < 300 THEN "BAJO"
ELSE "ALTO" END AS Categoria FROM Libros

SELECT [Link], [Link], CASE WHEN [Link] < 300 THEN "BAJO" WHEN [Link] BETWEEN
301 AND 700 THEN "MEDIO" ELSE "ALTO" END AS Categoria FROM Libros
SQL: EJEMPLOS
Se pueden combinar todos los ejemplos de sintaxis que vimos hasta el momento , siempre se debe
respetar el mismo orden :

SELECT > JOIN > WHERE > GROUPBY > ORDER

Seleccion de Buscamos Filtro los Elegimos Ordenamos


Columnas datos en datos Columna por los
otra tabla la cual resultados
agrupamos
SQL
Conexión desde PowerBI
Para conectarnos a MYSQL en PBI existe un conector exclusivo:

• Obtener datos
• Seleccionamos tipo de Fuente y elegimos MYSQL
• Seleccionamos el nombre del Servidor y el nombre de la Base de
datos (el servidor puede ser una dirección IP o una web)
• En el desplegable de opciones avanzadas podemos elegir si
queremos realizar nuestra propia consulta SQL
SQL
Conexión desde PowerBI

• Luego nos va a solicitar autenticación de usuario, para eso tenemos que seleccionar la opción BASE DE DATOS ,
ingresamos usuario y contraseña

• Nos va a dar una advertencia sobre una conexión no cifrada


damos aceptar

• Seleccionamos las tablas que queremos traer al modelo


(si es que no ingresamos una consulta personalizada)
SQL
Practica Consultas

1. En la tabla Libros agregar el nombre del autor solamente


2. Quien es el autor de "El Príncipe“ (traer nombre del libro, nombre del autor y fecha de nacimiento del
autor)
3. Traer nombre del autor e indicar cuantos libros tiene en nuestra base (colocar de forma correcta los alias a
las tablas y los nombres a las columnas)
4. Cual es el precio promedio para cada genero (traer nombre del genero y precio)  Plus: filtrar resultado
NULL
5. Cuales son los libros cuyos autores nacieron en España? (solo traer el nombre del libro)
6. Traer nombre del libro, autor y genero de los libros cuyos autores nacieron antes del 1900
(pista la función YEAR nos devuelve el año de una fecha determinada)
7. Conectarnos a la base de EANT mediante PBI y traernos la siguiente tabla

También podría gustarte