LoslegenKostenlos loslegen

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

Kurs anzeigen

Anleitung zur Übung

  • Baue eine Anweisung, um Folgendes auszuwählen:
    • Die Spalte state aus der Tabelle census.
    • Die Summe der Spalte pop2008 aus der Tabelle census.
    • Die Spalte census_division_name aus der Tabelle state_fact.
  • Hänge an stmt ein .select_from() an, um die Tabellen census und state_fact über die Spalten state und name zu joinen.
  • Gruppiere die Anweisung nach der Spalte name der Tabelle state_fact.
  • Führe die Anweisung stmt_grouped aus, um alle Datensätze zu erhalten, und speichere sie als results.
  • Antwort senden, um über das Objekt results zu 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)
Code bearbeiten und ausführen