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
Pokyny k cvičení
- Vyber všechny záznamy z tabulky
census. - Uprav argument klauzule
wheretak, aby pomocíin_()vrátila pouze záznamy, kde hodnota sloupcecensus.columns.stateje obsažena v seznamustates. - Projdi ResultProxy
connection.execute(stmt)cyklem a vypiš sloupcestateapop2000z 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(____, ____)