BaşlayınÜcretsiz başlayın

Bir Tablo'dan Seçilen Verileri Filtreleme - Gelişmiş

Harika gidiyorsun! SQLAlchemy, daha karmaşık filtreler kurmak için and_(), or_() ve not_() gibi bağlaçların kullanılmasına da izin verir. Örneğin, aşağıdaki kodla New York’taki yaşı 21 veya 37 olan kişilerin kayıtlarını alabiliriz:

select([census]).where(
  and_(census.columns.state == 'New York',
       or_(census.columns.age == 21,
          census.columns.age == 37
         )
      )
  )

Buna eşdeğer bir SQL ifadesi örneğin şöyledir:

SELECT * FROM census WHERE state = 'New York' AND (age = 21 OR age = 37)

Bu egzersiz, kursun bir parçasıdır

Python ile Veritabanlarına Giriş

Kursa Göz Atın

Egzersiz talimatları

  • sqlalchemy modülünden and_ fonksiyonunu içe aktar.
  • census tablosundaki tüm kayıtları seç.
  • state değeri 'California' olan ve sex değeri 'M' OLMAYAN tüm kayıtları filtrelemek için bir where koşulu ekle.
  • stmt ifadesini bağlantıda çalıştır ve ResultProxy üzerinde yineleyerek her kaydın age ve sex sütunlarını yazdır.

Uygulamalı etkileşimli egzersiz

Bu egzersizi bu örnek kodu tamamlayarak deneyin.

# Import and_
from ____ import ____

# Build a query for the census table: stmt
stmt = select(____)

# Append a where clause to select only non-male records from California using and_
stmt = stmt.where(
    # The state of California with a non-male sex
    ____(census.columns.state == ____,
         census.columns.sex != ____
         )
)

# Loop over the ResultProxy printing the age and sex
for result in ____:
    print(____, ____)
Kodu Düzenle ve Çalıştır