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 de 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
Pruebe este ejercicio completando este 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())