Začněte nyníZačněte zdarma

Filtrování dat z tabulky – výrazy

Kromě standardních porovnávacích operátorů Pythonu můžeme v klauzuli where() použít také metody jako in_(), které nám dají větší kontrolu nad filtrováním. Úplný seznam dostupných výrazů najdeš v dokumentaci SQLAlchemy.

Metoda in_(), použitá na sloupci, vrátí záznamy, jejichž hodnota v daném sloupci odpovídá jedné z hodnot ze zadaného seznamu. Například where(census.columns.age.in_([20, 30, 40])) vrátí pouze záznamy osob, kterým je přesně 20, 30 nebo 40 let.

V tomto cvičení budeš dál pracovat s tabulkou census a vybereš záznamy osob ze tří nejhustěji osídlených států. Seznam těchto států už je pro tebe připraven.

Toto cvičení je součástí kurzu

Introduction to Databases in Python

Zobrazit kurz

Pokyny k cvičení

  • Vyber všechny záznamy z tabulky census.
  • Uprav argument klauzule where tak, aby pomocí in_() vrátila pouze záznamy, kde hodnota sloupce census.columns.state je obsažena v seznamu states.
  • Projdi ResultProxy connection.execute(stmt) cyklem a vypiš sloupce state a pop2000 z každého záznamu.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

# 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(____, ____)
Upravit a spustit kód