Aprende SQL usando Excel como puente

Como antiguo contable convertido en analista, Microsoft Excel siempre ha sido y sigue siendo hasta hoy, una de mis herramientas favoritas. Solía ser tan tonto como para pensar que un día en el futuro, Excel iba a ser considerado irrelevante. La verdad es que está ocurriendo lo contrario. Excel y las hojas de cálculo en general, son más relevantes que nunca.
A menudo me encuentro con personas que trabajan en alguna capacidad que requiere algún análisis y/o informe básico. Ellos manejan esto completamente dentro de Excel.
La cuestión es que cuando estos datos existen en una base de datos, la mayoría de las veces la persona que tiene que utilizar los datos para el análisis o la presentación de informes es diferente de la persona que sabe cómo extraer los datos. Esto crea un problema en todas las empresas que tienen un número limitado de analistas que tienen que cambiar constantemente de contexto.
Esto ha creado una demanda de empleados en un rol de no analista de datos que entiendan las consultas básicas y los fundamentos de las bases de datos.
El principal problema es que mucha gente no sabe dónde y cómo empezar.
Afortunadamente, como alguien que ha recorrido el camino de las hojas de cálculo a las bases de datos, puedo y quiero ser su Sherpa. Siendo realistas, las hojas de cálculo son lo mismo que las bases de datos, pero sólo necesitamos aprender un nuevo y sencillo lenguaje para navegar por ellas.

Conceptos básicos de Excel y bases de datos

Excel

Tengo un libro de Excel que usaré como base para mis explicaciones. En este libro de trabajo, tengo varias hojas que se ven y funcionan como pestañas en su navegador web. Cada una de estas hojas almacena diferentes datos.
El libro de trabajo que usaré contiene datos de las operaciones de mi frutería. Como pueden ver, hay hojas para los clientes, artículos, y purchase_log.

Image for post

Cada una de estas pestañas contendrá datos en bruto que aún no han sido formateados. Los datos se organizan en columnas para cada campo y filas para cada registro.

Image for post
customers table
Image for post
fruits available for sale
Image for post
a list of transactions that happened in my store

Como pueden ver, la tabla consiste en identificaciones, seguidas de otros detalles. Tradicionalmente en Excel, si quisiera adjuntar más artículos e información de los clientes al registro de compras, usaría un índice de coincidencia o vlookup para hacerlo como se indica a continuación.

Image for post


utilizando la coincidencia de índices para combinar datos de diferentes tablas

combinando los campos de nombre y apellido en un nombre completo en la tabla de registro de compras

Ahí lo tenemos, muy simple para combinar la información de diferentes tablas en nuestra base de datos de hojas de cálculo. Podemos ser muy peligrosos con nuestro análisis ahora.

Hagamos exactamente lo mismo en SQL

En Excel tenemos libros de trabajo y dentro de ellos tenemos hojas. En una base de datos podemos llamar al libro de trabajo un esquema y podemos llamar a las hojas tablas. Funcionan de la misma manera. Las tablas también contienen información en el mismo formato exacto también – tabular con campos como columnas y filas que son registros.
La diferencia ahora es que en lugar de tener los datos a un clic de distancia, sólo tendremos que escribir consultas rápidas.
Ahora tenemos un esquema que contiene 3 tablas:

Image for post

Si quisiéramos ver todos los datos de cada tabla, sólo escribiríamos lo siguiente:

select * from customers

O si quisiéramos seleccionar de la tabla de artículos:

select * from items
Image for post

O comprar el registro:

select * from purchase_log
Image for post
select purchase_log.id, time, concat(firstname,' ' ,lastname) as 'customer full name', item as fruit
from purchase_log
inner join customers on purchase_log.customer_id = customers.id
inner join items on purchase_log.item_id = items.id
order by id asc
Image for post

Deja un comentario

Diseña un sitio como este con WordPress.com
Comenzar