0% found this document useful (0 votes)
23 views

Curso DB Clase I SQL .Ipynb - Colab

Uploaded by

gherrera555
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
23 views

Curso DB Clase I SQL .Ipynb - Colab

Uploaded by

gherrera555
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 14

‭SQL I - Practica Clase I‬

‭# install‬
‭!‭a
‬ pt install postgresql postgresql-contrib &>log‬‭# INSTALAR POSTGRESQL Y CONTRIB‬

‭!‭s
‬ ervice postgresql start‬‭# INICIA EL EL SERVICIO POSTGRESQL EN ENTORNO COOLAB‬

‭!‭s
‬ udo -u postgres psql -c‬‭"CREATE USER root WITH SUPERUSER"‬‭# CREA UN USUARIO LLAMADO‬
‭"root"‬
‭# CON PRIVILEGIO DE SUPERUSUARIO‬
‭# set connection‬
‭"""Carga la extensión SQL en Colab, permitiendo ejecutar consultas‬
‭SQL directamente en las celdas de codigo. Luego, se importan las‬
‭bibliotecas necesarias, incluidas SQLAlchemy para la conexión y‬
‭Pandas para el manejo de datos."""‬

‭%reload_ext‬‭sql‬
‭import‬‭sqlalchemy‬
‭import‬‭pandas‬‭as‬‭pd‬

‭"""Establecimiento de la conexión: Se crea un motor SQLAlchemy para establecer‬


‭la conexión con la base de datos PostgreSQL. La cadena de conexión especifica‬
‭el tipo de base de datos (postgresql+psycopg2) y el nombre de usuario y contraseña‬
‭(en este caso, no se proporcionan, por lo que se utilizarán los valores predeterminados).‬
‭La conexión se realiza con la base de datos "postgres"."""‬

‭engine = sqlalchemy.create_engine(‬‭'postgresql+psycopg2://@/postgres'‬‭)‬

‭""" Creación de la función exec_sql: Esta función se utiliza para ejecutar consultas‬
‭SQL en la base de datos. Toma una consulta como argumento, la ejecuta y devuelve‬
‭los resultados si la consulta es un SELECT, o bien, confirma la transacción si‬
‭es una consulta de modificación de datos."""‬

‭def‬‭exec_sql‬‭(‭q
‬ uery‬‭):‬
‭text_query = sqlalchemy.sql.text(query)‬

‭with‬‭engine.connect()‬‭as‬‭conn:‬
‭res = conn.execute(text_query)‬
‭if‬‭query.strip().lower().startswith(‬‭'select'‬‭):‬
‭return‬‭pd.DataFrame(res)‬
‭else‬‭:‬
‭conn.commit()‬
‭Crear base de datos‬
‭‬

‭create_schema = 'CREATE SCHEMA IF NOT EXISTS humai'‬

‭exec_sql(create_schema)‬

‭DDL - Crear tablas‬

‭Tabla Customers‬

‭CREATE TABLE IF NOT EXISTS humai.Customers (‬


‭customer_id INT NOT NULL,‬
‭customer_name VARCHAR(50) NOT‬
‭NULL, fecha_inicio DATE NOT NULL,‬
‭fecha_fin DATE,‬
‭PRIMARY KEY (customer_id)‬
‭);‬

‭create_customers = """‬
‭ REATE TABLE IF NOT EXISTS humai.Customers (‬
C
‭customer_id INT NOT NULL,‬
‭customer_name VARCHAR(50) NOT‬
‭NULL, fecha_inicio DATE NOT NULL,‬
‭fecha_fin DATE,‬
‭ RIMARY KEY (customer_id));‬
P
‭"""‬

‭exec_sql(create_customers)‬

‭Tabla Orders‬
‭CREATE TABLE IF NOT EXISTS humai.Orders (‬
‭order_id INT NOT NULL,‬
‭customer_id INT NOT NULL,‬
‭order_date DATE NOT NULL,‬
‭order_price DECIMAL(8,2),‬
‭PRIMARY KEY (order_id),‬
‭ OREIGN KEY (customer_id) REFERENCES humai.Customers(customer_id)‬
F
‭);‬
‭ reate_orders = """‬
c
‭CREATE TABLE IF NOT EXISTS humai.Orders (‬
‭order_id INT NOT NULL,‬
‭customer_id INT NOT NULL, order_date DATE NOT NULL,‬
‭order_price DECIMAL(8,2), PRIMARY KEY (order_id),‬
‭FOREIGN KEY (customer_id) REFERENCES humai.Customers(customer_id)‬
)‭ ;‬
‭"""‬
‭exec_sql(create_orders)‬

‭Tabla Shipments‬

‭CREATE TABLE IF NOT EXISTS humai.Shipments (‬


‭shipment_id INT NOT NULL,‬
‭order_id INT NOT NULL,‬
‭shipment_date DATE NOT NULL,‬
‭shipment_city VARCHAR(50),‬
‭PRIMARY KEY (shipment_id),‬
‭FOREIGN KEY (order_id) REFERENCES humai.Orders(order_id)‬
‭);‬

‭ reate_shipments = """‬
c
‭CREATE TABLE IF NOT EXISTS humai.Shipments (‬
‭shipment_id INT NOT NULL,‬
‭order_id INT NOT NULL,‬
‭ hipment_date DATE NOT‬
s
‭NULL, shipment_city‬
‭VARCHAR(50),‬
‭PRIMARY KEY (shipment_id),‬
‭FOREIGN KEY (order_id) REFERENCES humai.Orders(order_id)‬
)‭ ;‬
‭"""‬
‭exec_sql(create_shipments)‬

‭Check que se hayan creado las tablas‬

‭ xec_sql("SELECT * FROM information_schema.tables‬


e
‭WHERE table_schema = 'humai';")‬

‭DML - Insertar datos ficticios‬

‭INSERT INTO humai.Customers‬


‭VALUES‬
‭(1, 'Eugenio', '08/21/1998', Null),‬
‭(2, 'Mario', '05/05/2005', Null),‬
‭(3, 'Pedro', '03/08/2020', '02/05/2022')‬
‭;‬

i‭nsert_customers = """‬
‭INSERT INTO humai.Customers VALUES‬
‭(1, 'Eugenio', '08/21/1998', Null),‬
‭(2, 'Mario', '05/05/2005', Null),‬
‭(3, 'Pedro', '03/08/2020', '02/05/2022') """‬

‭exec_sql(insert_customers)‬

‭INSERT INTO humai.Orders‬


‭VALUES‬
‭(1,‬ ‭1,‬ ‭'06/05/2022',‬ ‭45),‬
‭(2,‬ ‭1,‬ ‭'06/05/2021',‬ ‭60),‬
‭(3,‬ ‭1,‬ ‭'06/06/2022',‬ ‭70),‬
‭(4,‬ ‭2,‬ ‭'01/05/2022',‬ ‭5),‬
(‭ 5,‬ ‭3,‬ ‭'06/10/2022',‬ ‭145),‬
‭(6, 3, '03/02/2022', 2)‬
‭;‬

i‭nsert_orders = """‬
‭INSERT INTO humai.Orders VALUES‬
‭(1,‬ ‭1,‬ ‭'06/05/2022',‬ ‭45),‬
‭(2,‬ ‭1,‬ ‭'06/05/2021',‬ ‭60),‬
‭(3,‬ ‭1,‬ ‭'06/06/2022',‬ ‭70),‬
‭(4,‬ ‭2,‬ ‭'01/05/2022',‬ ‭5),‬
‭(5,‬ ‭3,‬ ‭'06/10/2022',‬ ‭145),‬
‭(6,‬ ‭3,‬ ‭'03/02/2022',‬ ‭2);‬
‭"""‬
‭exec_sql(insert_orders)‬

‭INSERT INTO humai.Shipments‬


‭VALUES‬
‭(1,‬ ‭1,‬ ‭'06/06/2022',‬ ‭'Belgrano'),‬
‭(2,‬ ‭2,‬ ‭'06/06/2021',‬ ‭'Mar del Plata'),‬
‭(3,‬ ‭3,‬ ‭'06/10/2022',‬ ‭'Belgrano'),‬
‭(4,‬ ‭4,‬ ‭'02/05/2022',‬ ‭'San Isidro'),‬
‭(5,‬ ‭5,‬ ‭'06/15/2022',‬ ‭'Belgrano'),‬
‭(6,‬ ‭6,‬ ‭'03/05/2022',‬ ‭'Mar del Plata')‬
‭;‬
i‭‬‭nsert_shipments = """‬
‭INSERT INTO humai.Shipments VALUES‬
‭(1,‬ ‭1,‬ ‭'06/06/2022',‬ ‭'Belgrano'),‬
‭(2,‬ ‭2,‬ ‭'06/06/2021',‬ ‭'Mar del Plata'),‬
‭(3,‬ ‭3,‬ ‭'06/10/2022',‬ ‭'Belgrano'),‬
(‭ 4,‬ ‭4,‬ ‭'02/05/2022',‬ ‭'San Isidro'),‬
‭(5,‬ ‭5,‬ ‭'06/15/2022',‬ ‭'Belgrano'),‬
‭(6,‬ ‭6,‬ ‭'03/05/2022',‬ ‭'Mar del Plata');‬
‭"""‬
‭exec_sql(insert_shipments)‬

‭select_orders = 'SELECT * FROM humai.orders;'‬

‭table_catalog‬ ‭table_schema‬ ‭table_name table_type self_referencing_c‬

‭customers‬ ‭ ASE‬
B
‭0‬ ‭postgres‬ ‭humai‬
‭TABL‬
‭E‬
‭orders‬ ‭ ASE‬
B
‭1‬ ‭postgres‬ ‭humai‬
‭TABL‬
‭E‬
‭BASE‬
‭2‬ ‭postgres‬ ‭humai‬ ‭shipments‬

‭exec_sql(select_orders)‬‭# Este comando me permite ver la tabla Customers‬

‭order_id‬ ‭customer_id‬ ‭order_date‬ ‭order_price‬

‭0‬ ‭1‬ ‭1‬ ‭2022-06-05‬ ‭45.00‬

‭1‬ ‭2‬ ‭1‬ ‭2021-06-05‬ ‭60.00‬

‭2‬ ‭3‬ ‭1‬ ‭2022-06-06‬ ‭70.00‬

‭3‬ ‭4‬ ‭2‬ ‭2022-01-05‬ ‭5.00‬

‭4‬ ‭5‬ ‭3‬ ‭2022-06-10‬ ‭145.00‬

‭5‬ ‭6‬ ‭3‬ ‭2022-03-02‬ ‭2.00‬

‭DDL - Consulas SELECT‬

‭1.‬‭Retorna todos los registros de la tabla Customers.‬

‭SELECT *‬
‭FROM humai.Customers;‬

‭select_customers = 'SELECT * FROM humai.Customers;'‬

‭exec_sql(select_customers)‬

‭customer_id‬ ‭customer_nam‬ ‭fecha_inicio‬ ‭fecha_fin‬


‭e‬
‭0‬ ‭1‬ ‭Eugenio‬ ‭1998-08-21‬ ‭None‬

‭1‬ ‭2‬ ‭Mario‬ ‭2005-05-05‬ ‭None‬

‭2‬ ‭3‬ ‭Pedro‬ ‭2020-03-08‬ ‭2022-02-05‬

‭2.‬‭Retorna la cantidad de envíos por shipment_city‬

‭SELECT shipment_city as "Barrio", count(*) as "Envios" FROM‬


‭humai.Shipments‬
‭GROUP BY shipment_city‬

‭ elect_shipment = 'SELECT shipment_city as "Barrio", count(*) as "Envios" FROM‬


s
‭humai.Shipments‬
‭GROUP BY shipment_city'‬
‭exec_sql(select_shipment)‬

‭Barrio‬ ‭Envios‬

‭0‬ ‭Belgrano‬ ‭3‬

‭1‬ ‭Mar del Plata‬ ‭2‬

‭2‬ ‭San Isidro‬ ‭1‬

‭3.‬‭Retorna la cantidad de envios a Belgrano‬

‭SELECT count(*) as "Envios a Belgrano"‬


‭FROM humai.Shipments‬
‭WHERE shipment_city = 'Belgrano'‬

‭ xec_sql("SELECT count(*) as \"Envios a Belgrano\"‬


e
‭FROM humai.Shipments‬
‭WHERE shipment_city = 'Belgrano';")‬

‭Envios a Belgrano‬
‭0‬ ‭3‬

‭4.‬‭Retorna todas las ordenes mayores a $50‬

‭SELECT *‬
‭FROM humai.Orders‬
‭WHERE order_price > 50;‬

‭exec_sql("SELECT * FROM humai.Orders WHERE order_price > 50;")‬


‭order_id‬ ‭customer_id‬ ‭order_date‬ ‭order_price‬

‭0‬ ‭2‬ ‭1‬ ‭2021-06-05‬ ‭60.00‬

‭1‬ ‭3‬ ‭1‬ ‭2022-06-06‬ ‭70.00‬

‭2‬ ‭5‬ ‭3‬ ‭2022-06-10‬ ‭145.00‬

‭5.‬‭Retorna el cliente que más dinero gasto‬

‭SELECT customer_id, sum(order_price) as "Total gastado"‬


‭FROM humai.Orders‬
‭GROUP BY customer_id‬
‭ORDER BY sum(order_price) DESC‬
‭LIMIT 1‬
‭;‬

‭ xec_sql("SELECT customer_id, sum(order_price) as \"Total gastado\"‬


e
‭FROM humai.Orders GROUP BY customer_id ORDER BY sum(order_price) DESC LIMIT 1;‬

‭customer_id Total gastado‬


‭0‬ ‭1‬ ‭175.00‬

‭6.‬‭Y que si queremos ver el nombre del cliente? Dato que se‬
‭encuentra en otra tabla.‬

‭SELECT c.customer_name, sum(order_price) as "Total gastado" FROM‬


‭humai.Orders o‬
‭FULL JOIN humai.Customers c‬
‭ON o.customer_id = c.customer_id‬
‭GROUP BY c.customer_name‬
‭ORDER BY sum(order_price) DESC‬
‭LIMIT 1;‬

‭ elect = """‬
s
‭SELECT c.customer_name, sum(order_price) as \"Total gastado\"‬
‭FROM humai.Orders o‬
‭FULL JOIN humai.Customers c‬
‭ N o.customer_id = c.customer_id‬
O
‭GROUP BY c.customer_name‬
‭ORDER BY sum(order_price)‬
‭DESC LIMIT 1;‬
‭"""‬
‭exec_sql(select)‬
‭customer_name Total gastado‬
‭0‬ ‭Eugenio‬ ‭175.00‬

‭7.‬‭Retornar la duración promedio de los clientes que se dieron de baja.‬

‭SELECT CAST(AVG(fecha_fin-fecha_inicio) AS INT) AS "Promedio Total dias" FROM‬


‭humai.Customers‬
‭WHERE fecha_fin IS NOT NULL‬

‭ xec_sql("SELECT CAST(AVG(fecha_fin-fecha_inicio) AS INT) AS \"Promedio Total‬


e
‭FROM humai.Customers WHERE fecha_fin IS NOT NULL")‬

‭Promedio Total dias‬


‭0‬ ‭699‬

‭8.‬‭Retornar los clientes que tienen una 'e' en el nombre.‬

‭SELECT‬
‭customer_name FROM‬
‭humai.Customers‬
‭WHERE customer_name LIKE '%e%';‬

‭ xec_sql("SELECT customer_name FROM humai.Customers WHERE customer_name‬


e
‭LIKE '‬

‭customer_name‬
‭0‬ ‭Eugenio‬
‭1‬ ‭Pedro‬

‭Ejercicios Prácticos DML DDL‬


‭Ejercicio 1 DML‬

‭Ingresar dos nuevos clientes en la tabla Customers.‬

i‭nsert_customers = """‬
‭INSERT INTO humai.Customers VALUES‬
‭(4, 'Gustavo', '2024-04-20', NULL),‬
‭(5, 'Florencia', '2024-04-20', NULL); """‬
‭exec_sql(insert_customers)‬
i‭nsert_customers = """‬
‭INSERT INTO humai.Customers VALUES‬
‭(6, 'Santiago', '2004-01-11', NULL) """‬
‭exec_sql(insert_customers)‬

i‭nsert_customers = """‬
‭INSERT INTO humai.Customers VALUES‬
‭(7, 'Lautaro', '2004-01-13', '2004-03-12'),‬
‭(8, 'Ines', '2004-01-15', '2004.03.18'); """‬
‭exec_sql(insert_customers)‬‭# Conjunto de comandos con la función INSERT para‬
‭# incorporar Datos a una Tabla‬

‭select_customers = 'SELECT * FROM humai.Customers;'‬‭# Este comando me permite ver‬


‭# la tabla Customers‬
‭exec_sql(select_customers)‬

‭customer_id‬ ‭customer_nam‬ ‭fecha_inicio‬ ‭fecha_fin‬


‭e‬
‭0‬ ‭1‬ ‭Eugenio‬ ‭1998-08-21‬ ‭None‬

‭1‬ ‭2‬ ‭Mario‬ ‭2005-05-05‬ ‭None‬

‭2‬ ‭3‬ ‭Pedro‬ ‭2020-03-08‬ ‭2022-02-05‬

‭3‬ ‭4‬ ‭Gustavo‬ ‭2024-04-20‬ ‭None‬

‭4‬ ‭5‬ ‭Florencia‬ ‭2024-04-20‬ ‭None‬

‭5‬ ‭6‬ ‭Santiago‬ ‭2004-01-11‬ ‭None‬

‭6‬ ‭7‬ ‭Lautaro‬ ‭2004-01-13‬ ‭2004-03-12‬

‭7‬ ‭8‬ ‭Ines‬ ‭2004-01-15‬ ‭2004-03-18‬

‭Ejercicios 2 DML‬

‭Actualizar el valor de la orden con order_id 5 a $200.‬

‭ elect_orders = 'SELECT * FROM humai.Orders;'‬


s
‭exec_sql(select_orders)‬

‭order_id‬ ‭customer_id‬ ‭order_date‬ ‭order_price‬

‭0‬ ‭1‬ ‭1‬ ‭2022-06-05‬ ‭45.00‬

‭1‬ ‭2‬ ‭1‬ ‭2021-06-05‬ ‭60.00‬

‭2‬ ‭3‬ ‭1‬ ‭2022-06-06‬ ‭70.00‬


‭3‬ ‭4‬ ‭2‬ ‭2022-01-05‬ ‭5.00‬

‭4‬ ‭5‬ ‭3‬ ‭2022-06-10‬ ‭145.00‬

‭5‬ ‭6‬ ‭3‬ ‭2022-03-02‬ ‭2.00‬

‭ pdat_order = "UPDATE humai.Orders SET order_price = 200 WHERE order_id = 5"‬


u
‭exec_sql(updat_order)‬

‭Ejercicio 3 DML‬

‭Eliminar uno de los clientes agregados a la tabla Customers.‬

‭ elete_customers = "DELETE FROM humai.Customers WHERE customer_id =‬


d
‭8" exec_sql(delete_customers)‬

‭Ejercicio 4 DML‬

‭Insertar una orden y su envio.‬

i‭nsert_orders = """‬
‭INSERT INTO humai.Orders‬
‭VALUES‬
‭(12, 1, '2024-01-02', '135'); """‬
‭exec_sql(insert_orders)‬

i‭nsert_shipments = """‬
‭INSERT INTO‬
‭humai.Shipments VALUES‬
‭(10, 6, '2024-01-03', 'La Plata'); """‬
‭exec_sql(insert_shipments)‬

‭Ejercicio 1 DDL‬

‭Calcular la cantidad de ventas realizadas en el 2022‬

‭ elect_orders = """‬
s
‭SELECT COUNT (*) as "Ventas 2022"‬
‭FROM humai.Orders‬
‭WHERE EXTRACT (YEAR FROM order_date) =‬
‭2022; """‬
‭exec_sql(select_orders)‬
‭Ventas 2022‬
‭0‬ ‭5‬

‭Ejercicio 2 DDL‬
‭Retornar la fecha de la primera venta registrada‬
‭ elect_order = """‬
s
‭SELECT MIN (order_date) as "Primera Venta"‬
‭FROM humai.Orders;‬
‭"""‬
‭exec_sql(select_order)‬

‭Primera Venta‬
‭0‬ ‭2021-06-05‬

‭Ejercicio 3 DLL‬

‭Retornar la venta de mayor dinero de cada cliente que tenga ventas‬

‭ elect_order = """‬
s
‭SELECT MAX (order_price) as "Mayor Venta x Cliente"‬
‭FROM humai.Orders‬
‭GROUP BY (order_id);‬
‭"""‬
‭exec_sql(select_order)‬

‭Mayor‬‭Venta‬ ‭x‬ ‭Cliente‬

‭0‬ ‭60.00‬

‭1‬ ‭70.00‬

‭2‬ ‭200.00‬

‭3‬ ‭5.00‬

‭4‬ ‭2.00‬

‭5‬ ‭45.00‬
‭Ejercicio 4 DDL‬

‭Retornar la cantidad de envios a cada ciudad que no sea Belgrano‬

‭ elect_shipment = """‬
s
‭SELECT shipment_city as "Ciudad", count (*) as "Cant Envios"‬
‭FROM humai.Shipments‬
‭WHERE shipment_city <> 'Belgrano'‬
‭ ROUP BY‬
G
‭shipment_city """‬
‭exec_sql(select_shipment)‬

‭Ciudad Cant Envios‬


‭0‬ ‭Mar del Plata‬ ‭2‬
‭1‬ ‭San Isidro‬ ‭1‬

‭Ejercicio 5 DDL‬

‭Calcular la cantidad de dias activos que tiene cada cliente que aún no se‬
‭han dado de baja‬

‭ elect_customer = """‬
s
‭SELECT (fecha_fin-fecha_inicio) as "Dias Activos", customer_name as "Cliente" FROM‬
‭humai.Customers‬
‭WHERE fecha_fin IS NOT‬
‭NULL """‬
‭exec_sql(select_customer)‬

‭Dias Activos Cliente‬


‭0‬ ‭699‬ ‭Pedro‬
‭1‬ ‭59‬ ‭Lautaro‬

‭ elect_customers = 'SELECT * FROM humai.Customers;'‬


s
‭exec_sql(select_customers)‬

‭customer_id‬ ‭customer_nam‬ ‭fecha_inicio‬ ‭fecha_fin‬


‭e‬
‭0‬ ‭1‬ ‭Eugenio‬ ‭1998-08-21‬ ‭None‬

‭1‬ ‭2‬ ‭Mario‬ ‭2005-05-05‬ ‭None‬

‭2‬ ‭3‬ ‭Pedro‬ ‭2020-03-08‬ ‭2022-02-05‬


‭3‬ ‭4‬ ‭Gustavo‬ ‭2024-04-20‬ ‭None‬

‭4‬ ‭5‬ ‭Florencia‬ ‭2024-04-20‬ ‭None‬

‭5‬ ‭6‬ ‭Santiago‬ ‭2004-01-11‬ ‭None‬

‭6‬ ‭7‬ ‭Lautaro‬ ‭2004-01-13‬ ‭2004-03-12‬

‭Ejercicio 6 DDL‬

‭ alcular el promedio de cantidad de dias activos que tienen los clientes que‬
C
‭aún no se han dado de baja‬

‭ elect_customer = """‬
s
‭SELECT AVG(fecha_fin-fecha_inicio) as "Promedio Total dias"‬
‭FROM humai.Customers‬
‭WHERE fecha_inicio IS NOT NULL‬
‭"""‬
‭exec_sql(select_customer)‬

‭Promedio Total dias‬


‭0‬ ‭379.0000000000000000‬

‭ xec_sql("SELECT CAST(AVG(fecha_fin-fecha_inicio) AS INT) AS \"Promedio Total‬


e
‭FROM humai.Customers WHERE fecha_fin IS NOT NULL")‬

‭Promedio Total dias‬


‭0‬ ‭699‬

‭Ejercicio 7 DDL‬

‭Retornar la cantidad de envios realizados entre enero y junio del 2022 para‬
‭Mar del Plata‬

‭ elect_shipment = """‬
s
‭SELECT count(*)‬
‭FROM humai.Shipments‬
‭ HERE shipment_date >= '01-01-2022'‬
W
‭AND shipment_date <= '06-01-2022'‬
‭AND shipment_city = 'Mar del Plata' """‬

‭exec_sql(select_shipment)‬

‭count‬
‭0‬ ‭1‬

‭Ejercicio 8 DDL‬

‭ antidad gastada por cliente con sus nombres para aquellos clientes que‬
C
‭hayan gastado mas de $20‬

‭ uery = """‬
q
‭SELECT customer_name, SUM(order_price) AS total_order_price‬
‭FROM Humai.Customers‬
‭INNER JOIN Humai.Orders‬
‭ N Humai.Customers.customer_id = Humai.Orders.customer_id‬
O
‭WHERE order_price > 20‬
‭GROUP BY Humai.Customers.customer_id‬
;‭ ‬
‭"""‬
‭exec_sql(query)‬

‭customer_name‬ ‭total_order_price‬

‭0‬ ‭Pedro‬ ‭200.00‬

‭1‬ ‭Maria‬ ‭1000.00‬

‭2‬ ‭Eugenio‬ ‭175.00‬

You might also like