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 SQLite favorita, 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.
Recordemos 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
rslos resultados de la siguiente consulta: selecciona todos los registros, extrayendo elTitledel registro y elNamedel artista de cada registro de la tablaAlbumy de la tablaArtist, respectivamente. Para ello,INNER JOINestas dos tablas en la columnaArtistIDde ambas. - En una llamada a
pd.DataFrame(), aplica el métodofetchall()arspara obtener todos los registros ders. Almacénalos en el DataFramedf. - Establece los nombres de las columnas del DataFrame 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())