Photo by Stephen Dawson on Unsplash

SQL es un lenguaje para la gestión de bases de datos relacional. Este post se enfocará en los comandos básicos para la consulta y edición de tablas.

Tomaremos un caso que servirá de ejemplo durante todo el post. Esta es la base de datos de varios proyectos en una compañía. La tabla que se utilizará lleva de nombre INGRESOS CASH y sirve para saber qué proyectos se están ejecutando, su calificación y los ingresos generados en el primer Q1

Esta es la tabla de datos con la que se trabajarán todos los comandos. Tomar en cuenta que no existe información de ingreso de dinero en algunas obras.

Tabla Ingresos Cash

Con la finalidad de entender mejor la tabla de trabajo, se ha realizado un diccionario de la tabla.

Iniciamos queriendo saber qué información tiene toda la tabla de Ingresos Cash, recordemos que * suele ser usado para llamar a todas las variables. Aplicado en el siguiente script podemos obtener la información de toda la tabla Ingresos Cash

SELECT * FROM [‘Ingresos Cash$’]

Ahora, imaginemos que solo nos pidieron la relación de las obras que se tienen en la compañía, eso quiere decir que mi output debe tener el ID de la obra y el nombre, para eso utilizo el siguiente script.

SELECT ID, PROJECT FROM [‘Ingresos Cash$’]

Para este ejemplo nos solicitaron la información de todas las obras que tengan la calificación de alta y media, por lo que se debería filtrar las obras según rating. Puedo filtrar con el comando WHERE, como lo muestra el script.

SELECT * FROM [‘Ingresos Cash$’] 
WHERE RATING IN (‘High’,’Middle’)

Además para ver la tabla de manera más ordenada uso ORDER BY para el Rating y ASC/DESC para ordenar el Q1 de manera ascendente/descendente, obteniendo el siguiente script.

SELECT * FROM [‘Ingresos Cash$’] 
WHERE RATING IN (‘High’,’Middle’)
ORDER BY RATING, Q1 ASC

Ahora se solicita tener la obra con mayor ingreso y la obra con menor ingreso en el Q1. Para saber el valor máximo del Q1 puedo utilizar el comando MAX de la siguiente manera

SELECT MAX(Q1) FROM [‘Ingresos Cash$’]

El resultado del script nos devuelve el número máximo solo como un dato 527788,2. Esta información no nos sirve porque no sé a qué obra corresponde.

Para solucionar este problema filtraremos con WHERE la columna Q1 con el número máximo hallado. El resultado del siguiente script muestra que la obra con el Q1 máximo (5 277 88.2) es TORRE DEL PARQUE con un rating LOW.

SELECT * FROM [‘Ingresos Cash$’] 
WHERE Q1 = (SELECT MAX(Q1) FROM [‘Ingresos Cash$’])

De la misma forma podríamos tener los datos de la obra con el Q1 mínimo usando el comando MIN. Siendo el resultado HOTEL HOLIDAY con rating High.

SELECT * FROM [‘Ingresos Cash$’] 
WHERE Q1 = (SELECT MIN(Q1) FROM [‘Ingresos Cash$’])

Asumimos que ahora nos pide ahora agregar una nueva obra con un nuevo ID “44410”, tiene el nombre de “HOTEL NUEVO PROYECTO”, con el rating “LOW”, pero sin cantidad en el Q1 porque aún no se sabe, este tendrá como valor NULL. El comando INSERT INTRO nos ayudará a agregar nueva información a nuestras tablas.

INSERT INTO ['Ingresos Cash$'] (ID, PROJECT, RATING)
VALUES ('44410', 'HOTEL NUEVO PROYECTO', 'LOW');

En caso quiera eliminar el registro con el ID “44410” usamos la sentencia DELETE FROM y la condicional WHERE para filtrar el registro queremos borrar. Es muy importante tener mucho cuidado en este punto, pues si no usamos WHERE estaríamos borrando toda la tabla.

DELETE FROM ['Ingresos Cash$'] WHERE ID IN('44410')

Business Engineer, Data Analyst, Business Hacker & Datacamp Student. bit.ly/anamumaq_

Business Engineer, Data Analyst, Business Hacker & Datacamp Student. bit.ly/anamumaq_