El poder de SQL reside en las relaciones entre tablas: INNER JOIN
¡Aquí realizarás tu primer INNER JOIN
! Trabajarás con tu base de datos favorita de SQLite, Chinook.sqlite
. Para cada registro de la tabla Album
, extraerás el Title
junto con el Name
del Artist
. Esta última procederá de la tabla Artist
, por lo que tendrás que INNER JOIN
estas dos tablas en la columna ArtistID
de ambas.
Recuerda que para INNER JOIN
las tablas Orders
y Customers
de la base de datos Northwind, Hugo ejecutó la siguiente consulta SQL:
"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"
Ya se ha ejecutado el código siguiente para importar los paquetes necesarios y crear el motor:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')
Este ejercicio forma parte del curso
Introducción a la importación de datos en Python
Instrucciones del ejercicio
- Asigna a
rs
los resultados de la siguiente consulta: selecciona todos los registros, extrayendo elTitle
del registro y elName
del artista de cada registro de la tablaAlbum
y de la tablaArtist
, respectivamente. Para ello,INNER JOIN
estas dos tablas en la columnaArtistID
de ambas. - En una llamada a
pd.DataFrame()
, aplica el métodofetchall()
ars
para obtener todos los registros ders
. Almacénalos en el DataFramedf
. - Establece los nombres de las columnas del Marco de datos con los nombres correspondientes de las columnas de la tabla.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
# Open engine in context manager
# Perform query and save results to DataFrame: df
with engine.connect() as con:
____
____
____
# Print head of DataFrame df
print(df.head())