Está en la página 1de 20

SQL – Conviértete en

Analista de Datos!
El lenguaje para cualquier trabajo vinculado a Datos

Dictado por Taguico A. Javier

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Bases de este curso
Aprende a usar el lenguaje SQL para explorar y analizar datos, de forma sencilla y con
planteos reales y complejos.
Conoce cómo funcionan las sentencias básicas y a qué grupo pertenecen.
Trabajaremos con un cliente SQL local y opciones online online donde no
necesitarás realizar ninguna instalación.

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Qué incluirá este Curso?
Definición de SQL
Típico uso y situaciones laborales
Opciones gratuitas para práctica
Conceptos básicos:
- Base de Datos
- Qué es SQL?
- Qué necesitas?
Descarga e Instalaciones para práctica local
Práctica con hojas Resumen!
Ejemplo de Test pre-laboral!

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Qué requisitos tendremos?
Conceptos básicos de Bases de Datos
Conexión a Internet para prácticas online

Conocimiento básico de interacción en entorno Windows si


eliges un entorno local
Ganas de aprender y conocer el lenguaje más usado para
Administrar y Analizar bases de datos!

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


S tructured
Q uery
L anguage

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Herramientas para Visualización de Datos

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Base de dato Transaccional vs Columnar

BD Transaccional BD Columnar
• Almacena sus datos por fila/registro • Almacena datos por
columna/campo
• Rápido para registrar eventos/logs
• Rápido para registrar eventos/logs
• Particiones horizontales
• Particiones verticales
• Uso más común OLTP
• Uso más común OLAP
(transaccional)
(analítica)
• Fácil para ESCRITURA • Fácil para LECTURA
Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data
Análisis Ad-hoc

Análisis para Compartir

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Flujo de IIF Anidado (si es falso)

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Flujo de CASE

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Funciones de Agrupación vs Ventana

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Subquery vs CTE

Diferencias Subquery
• Las CTE pueden ser recursivas • A veces son irremplazables
(SELECT, WHERE, otras tablas)
• CTE pueden reutilizarse
• CTE son más fáciles de leer
• CTE deben SIEMPRE tener alias

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


• Recursos gratuitos!
SQL Fiddle
W3schools
SQL-Easy
SQL zoo
KHAN Academy

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


• Recursos gratuitos!
Google Cloud Platform

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


Hojas Resumen

Jtaguico.dev@gmail.com https://jtaguico.com @jTaguico.Data


SQL
Tipos de Comandos
Por @jtaguico.data

DML INSERT UPDATE DELETE MERGE SELECT


Data Manipulation Language

DDL CREATE ALTER TRUNCATE RENAME DROP


Data Definition Language

DCL GRANT REVOKE

Data Control Language

jtaguico.com
SQL
Mapa de Comandos
Por @jtaguico.data

AS Alias DCL GRANT


REVOKE
ASC / DESC ORDER BY
DML SELECT DISTINCT
INNER JOIN JOINs *
LEFT JOIN INSERT
RIGHT JOIN UPDATE
FULL JOIN DELETE

AVG() GROUP BY DDL CREATE TABLE


SUM() Incluir VIEW
COUNT() GROUP BY column
MIN()
SQL
HAVING
MAX()
ALTER TABLE Add Column
AND, OR WHERE Constraints Unique
ALL Not Null
ANY Primary Key
BETWEEN Foreign Key
IN Check
LIKE Default
EXISTS Remove Column
NOT Constraint
=, >, <, >=, <=, <> Modify Data Type
Data Type Length
DROP TABLE

jtaguico.com TRUNCATE TABLE


SQL
Hoja Resumen! Ejemplos
Por @jtaguico.data Consulta todas las filas de Tabla1 con filtro: Calcula sobre col1 de forma agrupada:

Sintaxis SELECT * FROM Tabla1


WHERE col1 > 5;
SELECT AVG(col1)
FROM Tabla1
Comandos Comunes CREATE DATABASE MiBaseDeDatos;
Consulta primeras 10 filas, 2 columnas con alias: GROUP BY nombre;
Combina datos de 2 tablas usando LEFT JOIN:
SELECT
SELECT Consulta datos de la base CREATE TABLE NombreTabla col1 AS nombre, SELECT
AS Renombra columna o tabla con un alias ( col2 AS apellido FROM Tabla1 AS t1
id int, FROM Tabla1 LIMIT 10; LEFT JOIN Tabla2 AS t2
FROM Detalla la tabla donde consultamos
name varchar (20)); ON t1.nombre = t2.name;
Filtra la consulta según condiciones Consulta todas las filas con filtros:
WHERE
SELECT * Agrupa y Filtra resultados:
JOIN Combina filas de 2 o más tablas CREATE INDEX NombreIndice
FROM Tabla1
ON NombreTabla(col1); SELECT col1
AND Agrega condiciones en filtro, cumplen todas WHERE col1 > 5
AND col2 LIKE “%criterio%”; AVG(col2) as total
OR Agrega condiciones en filtro, cumple alguna UPDATE NombreTabla FROM Tabla1
LIKE Busca patrones en una columna SET col1 = 50 GROUP BY col1
WHERE col2 = ‘criterio’; Consulta todas las filas de col1 y col2 con orden
IN HAVING total > 3;
Detalla valores múltiples usando WHERE ascendente:
IS NULL SELECT col1, col2
Devuelve sólo filas con valor nulo (NULL) DROP TABLE NombreTabla; Uso de la sintaxis CASE
FROM Tabla1
LIMIT Limita la cantidad de filas consultadas SELECT col1,
ORDER BY nombre;
DROP DATABASE MiBaseDeDatos;
CASE Devuelve valor cumpliendo condición/es. CASE
Devuelve el número de filas en Tabla1, suma y valor WHEN col1 > 10 THEN ‘mayor’
DELETE FROM NombreTabla
máximo WHEN col1 < 10 THEN ‘menor’
CREATE Crea Tabla, Base de Datos, Índice o Vista WHERE col1 = ‘criterio’; SELECT COUNT(*), ELSE ‘diez’
de col1
DROP Elimina Tabla, Base de Datos, Índice o Vista SUM(col1), MAX(col1) END AS ‘valor10’
ALTER TABLE NombreTabla FROM Tabla1; FROM Tabla1;
UPDATE Actualiza datos de Tabla DROP COLUMN col1;
DELETE Elimina filas de una Tabla
ALTER TABLE ALTER TABLE NombreTabla
Orden de Ejecución
Agrega/Elimina columnas de Tabla
ADD col1 int;

GROUP BY Agrupa filas para mismos valores


FROM -> WHERE -> GROUP BY -> HAVING -> SELECT -> ORDER BY -> LIMIT
ORDER BY Define orden por columna, ASC o DESC
HAVING Como WHERE en Funciones de Agrupación Joins
SUM Devuelve la suma de la columna
AVG
MIN
Devuelve el promedio de la columna
Devuelve el valor mínimo de la columna
a b a b a b a b
jtaguico.com
MAX Devuelve el valor máximo de la columna
COUNT Cuenta el número de filas
a INNER JOIN b a LEFT JOIN b a RIGHT JOIN b a FULL OUTTER JOIN b
Gracias por asistir!
https://jtaguico.com

Jtaguico.dev@gmail.com @jTaguico.Data Adrian Javier Taguico

También podría gustarte