O poder do SQL está nos relacionamentos entre as tabelas: INNER JOIN
Aqui, você realizará seu primeiro INNER JOIN
! Você trabalhará com seu banco de dados favorito do SQLite, Chinook.sqlite
. Para cada registro na tabela Album
, você extrairá o Title
junto com o Name
do Artist
. O último virá da tabela Artist
e, portanto, você precisará INNER JOIN
essas duas tabelas na coluna ArtistID
de ambas.
Lembre-se de que para INNER JOIN
as tabelas Orders
e Customers
do banco de dados Northwind, Hugo executou a seguinte consulta SQL:
"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"
O código a seguir já foi executado para importar os pacotes necessários e criar o mecanismo:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')
Este exercício faz parte do curso
Introdução à importação de dados em Python
Instruções de exercício
- Atribua a
rs
os resultados da seguinte consulta: selecione todos os registros, extraindo oTitle
do registro e oName
do artista de cada registro da tabelaAlbum
e da tabelaArtist
, respectivamente. Para fazer isso,INNER JOIN
essas duas tabelas na colunaArtistID
de ambas. - Em uma chamada para
pd.DataFrame()
, aplique o métodofetchall()
ars
para buscar todos os registros emrs
. Armazene-os no DataFramedf
. - Defina os nomes das colunas do DataFrame com os nomes correspondentes das colunas da tabela.
Exercício interativo prático
Experimente este exercício preenchendo este código de exemplo.
# 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())