Дополнительная практика с объединениями
Вы можете использовать тот же оператор SELECT, что и в предыдущем упражнении. Однако на этот раз добавим усложнение: вернём лишь несколько столбцов и используем другую таблицу в конструкции group_by().
Это упражнение является частью курса
Введение в базы данных на Python
Инструкции к упражнению
- Составьте запрос для выборки следующих данных:
- Столбец
stateиз таблицыcensus. - Сумму значений столбца
pop2008из таблицыcensus. - Столбец
census_division_nameиз таблицыstate_fact.
- Столбец
- Добавьте к
stmtвызов.select_from(), чтобы объединить таблицы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)