Aan de slagGa gratis aan de slag

Gegevens filteren die uit een Table zijn geselecteerd - Expressies

Naast de standaard Python-vergelijkingsoperatoren kun je ook methoden zoals in_() gebruiken om krachtigere where()-clausules te maken. Je vindt een volledige lijst met expressies in de SQLAlchemy-documentatie.

Met de methode in_() kun je, toegepast op een kolom, records opnemen waarbij de waarde van een kolom voorkomt in een lijst met mogelijke waarden. Bijvoorbeeld, where(census.columns.age.in_([20, 30, 40])) geeft alleen records terug voor mensen die precies 20, 30 of 40 jaar oud zijn.

In deze oefening ga je verder met de census-tabel en selecteer je de records van mensen uit de drie dichtstbevolkte staten. De lijst met die staten is al voor je aangemaakt.

Deze oefening maakt deel uit van de cursus

Introductie tot databases in Python

Cursus bekijken

Oefeninstructies

  • Selecteer alle records uit de census-tabel.
  • Pas het argument van de where-clausule aan om in_() te gebruiken, zodat alle records worden teruggegeven waarbij de waarde in de kolom census.columns.state voorkomt in de states-lijst.
  • Loop over de ResultProxy connection.execute(stmt) en print de kolommen state en pop2000 van elk record.

Praktische interactieve oefening

Probeer deze oefening eens door deze voorbeeldcode in te vullen.

# 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(____, ____)
Code bewerken en uitvoeren