Mehr Übung mit Joins
Du kannst dieselbe Select-Anweisung verwenden, die du in der letzten Aufgabe erstellt hast. Dieses Mal drehen wir aber eine kleine Runde mehr: Gib nur einige Spalten zurück und nutze die andere Tabelle in einer group_by()-Klausel.
Diese Übung ist Teil des Kurses
Einführung in Datenbanken mit Python
Anleitung zur Übung
- Baue eine Anweisung, um Folgendes auszuwählen:
- Die Spalte
stateaus der Tabellecensus. - Die Summe der Spalte
pop2008aus der Tabellecensus. - Die Spalte
census_division_nameaus der Tabellestate_fact.
- Die Spalte
- Hänge an
stmtein.select_from()an, um die Tabellencensusundstate_factüber die Spaltenstateundnamezu joinen. - Gruppiere die Anweisung nach der Spalte
nameder Tabellestate_fact. - Führe die Anweisung
stmt_groupedaus, um alle Datensätze zu erhalten, und speichere sie alsresults. - Antwort senden, um über das Objekt
resultszu iterieren und jeden Datensatz auszugeben.
Interaktive Übung
Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.
# 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)