Zacznij terazZacznij za darmo

Filtrowanie danych z tabeli – wyrażenia

Oprócz standardowych operatorów porównania Pythona możemy też korzystać z metod takich jak in_(), które pozwalają tworzyć bardziej rozbudowane klauzule where(). Pełną listę dostępnych wyrażeń znajdziesz w dokumentacji SQLAlchemy.

Metoda in_(), użyta na kolumnie, pozwala uwzględnić rekordy, w których wartość danej kolumny należy do podanej listy. Na przykład where(census.columns.age.in_([20, 30, 40])) zwróci wyłącznie rekordy dotyczące osób, które mają dokładnie 20, 30 lub 40 lat.

W tym ćwiczeniu będziesz nadal pracować z tabelą census i wybierać rekordy dotyczące mieszkańców trzech najgęściej zaludnionych stanów. Lista tych stanów została już dla ciebie przygotowana.

To ćwiczenie jest częścią kursu

Wprowadzenie do baz danych w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wybierz wszystkie rekordy z tabeli census.
  • Zmodyfikuj argument klauzuli where, używając in_(), aby zwrócić wszystkie rekordy, w których wartość kolumny census.columns.state znajduje się na liście states.
  • Przejdź pętlą po ResultProxy connection.execute(stmt) i wypisz kolumny state oraz pop2000 z każdego rekordu.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

# Define a list of states for which we want results
states = ['New York', 'California', 'Texas']

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

# Append a where clause to match all the states in_ the list states
stmt = stmt.where(____)

# Loop over the ResultProxy and print the state and its population in 2000
for ____ in connection.execute(____):
    print(____, ____)
Edytuj i uruchom kod