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 do exercício
- Atribua a
rsos resultados da seguinte consulta: selecione todos os registros, extraindo oTitledo registro e oNamedo artista de cada registro da tabelaAlbume da tabelaArtist, respectivamente. Para fazer isso,INNER JOINessas duas tabelas na colunaArtistIDde ambas. - Em uma chamada para
pd.DataFrame(), aplique o métodofetchall()arspara 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 completando 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())