НачатьНачать бесплатно

Фильтрация данных из таблицы — выражения

Помимо стандартных операторов сравнения Python, можно использовать такие методы, как in_(), чтобы создавать более гибкие условия where(). Полный список доступных выражений можно найти в документации SQLAlchemy.

Метод in_(), применённый к столбцу, позволяет отбирать записи, в которых значение столбца входит в список допустимых значений. Например, where(census.columns.age.in_([20, 30, 40])) вернёт только записи о людях в возрасте ровно 20, 30 или 40 лет.

В этом упражнении вы продолжите работу с таблицей census и выберете записи о жителях трёх штатов с наибольшей плотностью населения. Список этих штатов уже создан для вас.

Это упражнение является частью курса

Введение в базы данных на Python

Посмотреть курс

Инструкции к упражнению

  • Выберите все записи из таблицы census.
  • Измените аргумент условия where так, чтобы использовать in_() для возврата всех записей, в которых значение столбца census.columns.state входит в список states.
  • Переберите ResultProxy connection.execute(stmt) в цикле и выведите значения столбцов state и pop2000 для каждой записи.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

# 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(____, ____)
Редактировать и запускать код