Ще трохи практики з joins
Можете використати той самий вираз select, який ви зібрали в попередній вправі. Однак додамо невеликий поворот: повернемо лише кілька стовпців і використаємо іншу таблицю в клаузі group_by().
Ця вправа є частиною курсу
Вступ до баз даних у Python
Інструкції до вправи
- Побудуйте інструкцію для вибірки:
- Стовпця
stateз таблиціcensus. - Суми стовпця
pop2008з таблиціcensus. - Стовпця
census_division_nameз таблиціstate_fact.
- Стовпця
- Додайте
.select_from()доstmt, щоб обʼєднати таблиціcensusіstate_factза стовпцямиstateтаname. - Згрупуйте інструкцію за стовпцем
nameтаблиціstate_fact. - Виконайте інструкцію
stmt_grouped, щоб отримати всі записи, і збережіть їх якresults. - Надішліть відповідь, щоб пройтися циклом по обʼєкту
resultsі надрукувати кожен запис.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Build a statement to select the state, sum of 2008 population and census
# division name: stmt
stmt = select([
____,
func.sum(____),
____
])
# Append select_from to join the census and state_fact tables by the census state and state_fact name columns
stmt_joined = stmt.select_from(
census.join(____, census.columns.____ == state_fact.columns.____)
)
# Append a group by for the state_fact name column
stmt_grouped = stmt_joined.group_by(____)
# Execute the statement and get the results: results
results = connection.execute(____).fetchall()
# Loop over the results object and print each record.
for record in results:
print(record)