Kom igångKom igång gratis

Filtrera data från en tabell – uttryck

Utöver de vanliga jämförelseoperatorerna i Python kan vi också använda metoder som in_() för att skapa mer kraftfulla where()-satser. Du hittar en fullständig lista över uttryck i SQLAlchemy-dokumentationen.

Metoden in_(), när den används på en kolumn, gör det möjligt att inkludera poster där kolumnens värde finns med i en lista av möjliga värden. Till exempel returnerar where(census.columns.age.in_([20, 30, 40])) bara poster för personer som är exakt 20, 30 eller 40 år gamla.

I den här övningen fortsätter du att arbeta med tabellen census och väljer poster för personer från de tre folkrikaste delstaterna. Listan med dessa delstater har redan skapats åt dig.

Den här övningen är en del av kursen

Introduktion till databaser i Python

Visa kurs

Övningsinstruktioner

  • Välj alla poster från tabellen census.
  • Ändra argumentet i where-satsen så att in_() används för att returnera alla poster där värdet i kolumnen census.columns.state finns i listan states.
  • Loopa över ResultProxy:n connection.execute(stmt) och skriv ut kolumnerna state och pop2000 från varje post.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

# 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(____, ____)
Redigera och kör kod