Fundamentos de SQL para Análisis de Datos Empresariales
Resumen
¿Qué es SQL y por qué es importante aprenderlo?
SQL, que significa "Structured Query Language", es una herramienta esencial para cualquier persona que trabaje con bases de datos. Aprender SQL te permite extraer y manejar información almacenada en tablas, lo que esencialmente compone cualquier sistema moderno de gestión de datos. Dominar SQL te dará la capacidad de convertirte en analista, manipular grandes volúmenes de datos y realizar cálculos complejos sin esfuerzo manual.
¿Cómo funciona una base de datos?
Las bases de datos almacenan y organizan información en tablas, donde cada tabla está compuesta por columnas y filas. Las columnas pueden contener diferentes tipos de datos, como fechas, importes y nombres de clientes. Las filas representan registros únicos, por ejemplo, cada venta en una tabla de ventas.
Tablas principales en un negocio:
Ventas: Registra las transacciones realizadas.
Clientes: Contiene información de los compradores.
Precios: Almacena los precios de los productos.
¿Cuáles son los comandos básicos de SQL?
El lenguaje SQL te da poderosas herramientas para interactuar con las tablas. Aquí te presento los comandos básicos que deberás aprender para iniciarte en el mundo de SQL:
SELECT: Indica las columnas que quieres consultar. Se usa para extraer información específica de la base de datos.
Ejemplo:
SELECT fecha, cliente
FROM ventas;
FROM: Define la tabla de la que necesitas extraer información.
WHERE: Añade condiciones para filtrar resultados específicos.
Ejemplo:
SELECT fecha
FROM ventas
WHERE cliente ='Ana';
GROUP BY: Permite agrupar resultados según una o más columnas. Esto es útil para obtener promedios o sumas por categoría.
ORDER BY: Organiza los resultados según criterios específicos como la fecha, el nombre del cliente, etc.
Ejemplo:
SELECT fecha, cliente
FROM ventas
ORDERBY fecha;
¿Qué son los operadores lógicos y cómo nos ayudan?
Los operadores lógicos son vitales para construir consultas más complejas y específicas:
AND: Permite que múltiples condiciones sean verdaderas a la vez.
Ejemplo:
SELECT*FROM ventas
WHERE fecha =2020AND cliente ='Ana';
OR: Solo se necesita que una de las condiciones sea verdadera.
Ejemplo:
SELECT fecha
FROM ventas
WHERE fecha =2020OR cliente ='Ana';
NOT: Excluye resultados que cumplan cierta condición.
Ejemplo:
SELECT*FROM ventas
WHERENOT cliente ='Ana';
¿Para qué sirven las funciones de agregación?
Las funciones de agregación simplifican cálculos estadísticos en grandes volúmenes de datos:
AVG: Calcula el promedio de valores.
SELECTAVG(importes)FROM ventas;
COUNT: Cuenta el número de registros o elementos únicos.
SELECTCOUNT(*)FROM ventas;
SUM: Suma todos los valores de una columna particular.
SELECTSUM(importes)FROM ventas;
MAX y MIN: Encuentran el máximo y mínimo valor dentro de un conjunto de datos.
SELECTMAX(importes),MIN(importes)FROM ventas;
SQL es mucho más que una simple herramienta de extracción de datos; es una puerta de entrada a la analítica avanzada. En futuras clases, exploraremos su aplicación en ejemplos de negocio y cómo diseñar sintaxis completas que impulsen decisiones informadas. No te desanimes si al principio parece complicado. Con cada consulta que ejecutes, te acercarás más a dominar el análisis de datos profesional. ¡Sigue aprendiendo y persevera!
++¿Qué es SQL?++
El Lenguaje de Consulta Estructurado (SQL), es un tipo de lenguaje de programación que ayuda a solucionar problemas específicos o relacionados con la definición, manipulación e integridad de la información representada por los datos que se almacenan en las bases de datos.
¿Por qué es importante aprender SQL?
■SQL simplifica tu código
■SQL te ahorrará en mucho
■Mejorarás tu lógica de programación aprendiendo SQL
■Tu aplicación puede ejecutarse más rápidamente
■SQL puede hacer que tu aplicación se vuelva independiente de los cambios en los datos.
■SQL se mantiene en constante evolución pero el núcleo de SQL cambia muy poco
■Eficacia en la solución de problemas
¿Qué tipos de comandos hay dentro del SQL?
Los comandos del lenguaje SQL se dividen según su función en estos 5 tipos:
DDL (Data Definition Language): definen el esquema o estructura de la base de datos. Ejemplos: CREATE (crear); ALTER (alterar); DROP (eliminar objetos); RENAME (renombrar); TRUNCATE (quita todos los registros de una tabla, incluidos los espacios de los registros eliminados); COMMENT (comentar); entre otros.
DQL (Data Query Language): sirven para hacer consultas sobre los datos en el esquema de objetos. Un objeto puede ser desde un resultado de búsqueda a una tabla. El propósito del comando es el de establecer una relación, basada en la consulta, dentro de la estructura de la base de datos, como la función de búsqueda. Ejemplo: SELECT (recuperar registros de la base de datos).
DML (Data Manipulation Language): tratan la manipulación de los datos presentes en la base de datos. La mayoría de los comandos pertenecen a este tipo. Ejemplo: INSERT (insertar un objeto); DELETE (eliminar registros); UPDATE (actualizar); CALL; MERGE (3 en 1, inserta, elimina y actualiza); LOCK TABLE (bloquear tabla); EXPLAIN PLAN (determina el plan de acceso); …
DCL (Data Control Language): se encargan de los derechos, los permisos y otros controles del sistema de la base de datos. Ejemplos: GRANT (proporcionar privilegios acceso a un usuario); REVOKE (revocar el derecho de accceso dado a un usuario); etc.
TCL (Transaction Control Language): sirve para las transacciones con la base de datos. Es decir, con estos comandos se puede llevar un control sobre otros comandos y cómo afectan a la base de datos. Ejemplos: COMMIT (llevar a cabo una transacción); ROLLBACK (revertir una transacción en caso de que ocurra algún error); SAVEPOINT (establecer un punto de rescate dentro de una transacción.).
fuente: https://bit.ly/37dWFWX
Aprendiendo SQL, vas a poder extraer información, aprender mejor las bases de datos, las tablas.
Toda la información de la empresa queda almacenada, eso se convierte en una tabla, que tiene filas y columnas. Las columnas pueden ser muy diversas (por ejemplo, orden de compra, fecha, valor, cliente, etc), todo este conjunto conforman una base de datos.
Recuerda que SQL es la herramienta que nos va a ayudar a sinterizar la información, a extraer datos de las tablas. Lo primero que le tenemos que decir, es donde esta almacenada esta información. Estos lenguajes funcionan la mayoría en ingles.
Para decirle Seleccionar lo haremos con SELECT, le diremos la columna que queremos seleccionar, ++por ejemplo SELECT FECHA, SELECT CLIENTE++. Cada una de estas columnas se tiene que separar de la otra columna, mediante una coma (select fecha, cliente)
Lo siguiente sera identificar donde esta almacenada esta información, para encontrar la información debes decirle FROM, (que significa DONDE) y le vas a indicar el nombre de la tabla,++ por ejemplo SELECT CLIENTE, FECHA FROM VENTAS++ (porque en nuestro ejemplo la tabla se llama ventas). Con esto ya pueden decir que información quieres y donde puedes encontrarla.
Adicionalmente, puede incluir muchas condiciones que ayudan a una mejor síntesis. Una de estas funciones es el WHERE (significa DONDE) y puedes indicar que, por ejemplo, solo quieres las ventas del año 2020. ++WHERE FECHA = 2020.++
Otra condición es el GROUP BY (significa para agrupar) va a servir para hacer una condición agrupada por 1 de las columnas, por ejemplo si solo quieres saber las ventas de los clientes, puedes indicar ++GROUP BY CLIENTE++, y te va a indicar, cada cliente, cuantas compras hizo, por que valor, etc. Tambien lo puedes agrupar por mes y saber en ese mes, cuantas ventas se hicieron.
El ORDER BY, nos sirve para ordenar los resultados, pueden ordenar tu estudio en función del mes (de enero a diciembre), por año, por el nombre del cliente para tenerlo en forma ascendente en orden alfabético.
Las instrucciones de operadores lógicos, nos sirven para unir comandos. Pueden indicar que te interesan que sean del año 2020 y que aparte los haya hecho una persona llamada Ana. En este caso lo harías de la siguiente forma: FECHA=2020 AND (significa Y) CLIENTE=ANA.
También puedes indicar que con que solo cumpla 1 condición ya te interesa tener este resultado, y se hace con la función **OR **(significa O) y es una condición disyuntiva, solo con que se llame Ana, o con que la fecha de la venta sea del 2020, extrae esa información.
Finalmente, puede usar el NOT, para decir NO incluyas este tipo de cliente, NO incluyas este año, pueden decir que lleve todas las ventas que NO sean del 2020. NOT IN 2020.
Otras funciones muy útiles son las de agregación, nos ayudan a no hacer los cálculos tediosos de suma, promedios en el caso que tengamos muchos registros.
Para hacer un PROMEDIO, usaremos la función AVG (AVERAGE), con eso podemos sacar el promedio de clientes que tuvimos el año pasado, el valor promedio de las ventas, etc.
También puedes hacer RECUENTOS, por ej cuantos clientes hubo, si haces COUNT los estas contando.
Si aparte le indicas DISTINCT (COUNT DISTINCT), te llevara a esos clientes ÚNICOS, los que no se repiten.
Si quieres SUMAR, cuantas ventas se hicieron, puedes usar el SUM, indicando el mes, o el año, incluso una hora.
También puedes llevarte los VALORES MÁXIMOS, por ejemplo cual fue la persona que hizo la compra de valor mas elevado, eso se hace con MAX.
Lo contrario para VALORES MÍNIMOS, y se hace con la función MIN
La programación SQL permite interactuar con una base de datos. El lenguaje de consulta estructurado (SQL) es el lenguaje de base de datos más implementado y valioso para cualquier persona involucrada en la programación informática o que usa bases de datos para recopilar y organizar información.
¿Para qué sirve la programación SQL?
La programación SQL se puede usar para compartir y administrar datos, en particular la información organizada en tablas que se encuentra en los sistemas de administración de bases de datos relacionales.
Mediante el uso de SQL, se puede:
Consultar, actualizar y reorganizar datos.
Crear y modificar la estructura de un sistema de base de datos.
Controlar el acceso a sus datos.
Aunque pueda parecer algo similar al funcionamiento de una hoja de cálculo, el objetivo de SQL es diferente, ya que permite compilar y administrar datos en volúmenes mucho mayores. Mientras que las hojas de cálculo pueden volverse complicadas con demasiada información que llena demasiadas celdas, las bases de datos SQL permiten gestionar hasta miles de millones de celdas de datos.
No, no es necesario, si bien hay unas pocas clases de este lenguaje no es necesario pero aún así puedes usar https://sqliteonline.com/ sin la necesidad de instalar nada