SQL'in gücü tablolar arası ilişkilerde yatar: INNER JOIN
Burada ilk INNER JOIN işlemini yapacaksın! Favori SQLite veritabanın Chinook.sqlite ile çalışacaksın. Album tablosundaki her kayıt için Title alanını ve ilgili sanatçının Name alanını çıkaracaksın. İkincisi Artist tablosundan geleceği için bu iki tabloyu her ikisindeki ArtistID sütununda INNER JOIN ile birleştirmen gerekecek.
Northwind veritabanındaki Orders ve Customers tablolarını INNER JOIN etmek için Hugo'nun şu SQL sorgusunu çalıştırdığını hatırla:
"SELECT OrderID, CompanyName FROM Orders INNER JOIN Customers on Orders.CustomerID = Customers.CustomerID"
Gerekli paketleri içe aktarmak ve engine oluşturmak için aşağıdaki kod zaten çalıştırıldı:
import pandas as pd
from sqlalchemy import create_engine
engine = create_engine('sqlite:///Chinook.sqlite')
Bu egzersiz
Python'da Veri Aktarmaya Giriş
kursunun bir parçasıdırEgzersiz talimatları
rsdeğişkenine şu sorgunun sonuçlarını ata:Albumtablosundan her kaydınTitlealanını veArtisttablosundan sanatçınınNamealanını çıkaracak şekilde, bu iki tabloyu her ikisindekiArtistIDsütunundaINNER JOINile birleştirerek tüm kayıtları select et.pd.DataFrame()çağrısında,rsiçindeki tüm kayıtları almak içinfetchall()yönteminirsüzerinde uygula. Bunlarıdfadlı DataFrame'de sakla.- DataFrame'in sütun adlarını, tablo sütunlarının karşılık gelen adlarıyla ayarla.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
# 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())