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, kursun bir parçasıdır
Python'da Veri Aktarmaya Giriş
Egzersiz 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ı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# 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())