Фільтрування й таргетування даних

Вступ до баз даних у Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Оператори where

stmt = select([census])

stmt = stmt.where(census.columns.state == 'California')
results = connection.execute(stmt).fetchall()
for result in results: print(result.state, result.age)
California 0
California 1
California 2
California 3
California 4
California 5
...
Вступ до баз даних у Python

Оператори where

  • Обмежують дані, що повертає запит, за булевими умовами
  • Порівнюють стовпець зі значенням або іншим стовпцем
  • Часто використовують порівняння ==, <=, >= або !=
Вступ до баз даних у Python

Вирази

  • Дають складніші умови, ніж прості оператори
  • Напр., in_(), like(), between()
  • Ще більше в документації
  • Доступні як метод Column
Вступ до баз даних у Python

Вирази

stmt = select([census])

stmt = stmt.where(census.columns.state.startswith('New'))
for result in connection.execute(stmt): print(result.state, result.pop2000)
New Jersey 56983
New Jersey 56686
New Jersey 57011
...
Вступ до баз даних у Python

Сполучники

  • Дозволяють мати кілька критеріїв у where
  • Напр., and_(), or_(), not_()
Вступ до баз даних у Python

Сполучники

from sqlalchemy import or_

stmt = select([census])
stmt = stmt.where( or_(census.columns.state == 'California', census.columns.state == 'New York' ) )
for result in connection.execute(stmt): print(result.state, result.sex)
New York M
...
California F
Вступ до баз даних у Python

Давайте потренуємось!

Вступ до баз даних у Python

Preparing Video For Download...