MulaiMulai sekarang secara gratis

Memfilter data yang dipilih dari sebuah Tabel - Lanjutan

Anda sudah semakin mahir! SQLAlchemy juga memungkinkan Anda menggunakan konjungsi seperti and_(), or_(), dan not_() untuk membangun penyaringan yang lebih kompleks. Sebagai contoh, kita dapat mengambil sekumpulan rekaman untuk orang di New York yang berusia 21 atau 37 tahun dengan kode berikut:

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

Pernyataan SQL yang setara, misalnya, adalah

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

Latihan ini adalah bagian dari kursus

Pengantar Basis Data di Python

Lihat Kursus

Petunjuk latihan

  • Impor and_ dari modul sqlalchemy.
  • Pilih semua rekaman dari tabel census.
  • Tambahkan klausa where untuk memfilter semua rekaman yang state-nya 'California', dan sex-nya bukan 'M'.
  • Eksekusi stmt pada koneksi dan iterasikan ResultProxy untuk mencetak kolom age dan sex dari setiap rekaman.

Latihan interaktif praktis

Cobalah latihan ini dengan menyelesaikan kode contoh berikut.

# 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(____, ____)
Edit dan Jalankan Kode