Querying the database

Introduction to Databases in Python

Jason Myers

Co-Author of Essential SQLAlchemy and Software Engineer

Part 3: answering data science questions with queries

  • Determine average age for males and females
from sqlalchemy import select

stmt = select([census.columns.sex, (func.sum(census.columns.pop2008 * census.columns.age) / func.sum(census.columns.pop2008) ).label('average_age')])
stmt = stmt.group_by('census.columns.sex')
results = connection.execute(stmt).fetchall()
Introduction to Databases in Python

Part 3: answering data science questions with queries

  • Determine the percentage of Females for each state
from sqlalchemy import case, cast, Float

stmt = select([ (func.sum( case([ (census.columns.state == 'New York', census.columns.pop2008) ], else_=0)) / cast(func.sum(census.columns.pop2008), Float) * 100).label('ny_percent')])
Introduction to Databases in Python

Part 3: answering data science questions with queries

  • Determine the top 5 states by population change from 2000 to 2008
stmt = select([census.columns.age,           
         (census.columns.pop2008-
         census.columns.pop2000).label('pop_change')
     ])

stmt = stmt.order_by('pop_change') stmt = stmt.limit(5)
Introduction to Databases in Python

Let's practice!

Introduction to Databases in Python

Preparing Video For Download...