Önceden tanımlı ilişkiyle otomatik join
Eğer iki tablo arasında önceden tanımlanmış bir ilişki varsa, her iki tablodan istediğin sütunları SELECT ifadesine ekleyerek bu ilişkiyi otomatik olarak kullanabilirsin. Jason’ın şu sorguyu yazdığını hatırla:
stmt = select([census.columns.pop2008, state_fact.columns.abbreviation])
Bu sorgu, census ve state_fact tablolarını birleştirip ilkinden pop2008, ikincisinden abbreviation sütunlarını seçiyordu. Bu örnekte census ve state_fact tabloları arasında önceden tanımlı bir ilişki vardı: ilk tablodaki state sütunu, ikinci tablodaki name sütununa karşılık geliyordu.
Bu egzersizde, aynı önceden tanımlı ilişkiyi kullanarak pop2000 ve abbreviation sütunlarını seçeceksin!
Bu egzersiz, kursun bir parçasıdır
Python ile Veritabanlarına Giriş
Egzersiz talimatları
censusvestate_facttablolarını birleştiren ve ilkindenpop2000, ikincisindenabbreviationsütununu seçen bir ifade oluştur.- İfadeyi çalıştırarak ilk sonucu al ve
resultolarak kaydet. - Yanıtı göndererek sonuç nesnesinin anahtarları üzerinde dön ve her bir anahtar ve değerini yazdır!
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
# Build a statement to join census and state_fact tables: stmt
stmt = select([____, ____])
# Execute the statement and get the first result: result
result = connection.execute(____).first()
# Loop over the keys in the result object and print the key and value
for key in result.keys():
print(key, getattr(result, key))