ÎncepețiÎncepe gratuit

Mai multă practică cu join-uri

Poți folosi aceeași instrucțiune select construită în exercițiul anterior, însă haide să adăugăm o variație: returnează doar câteva coloane și folosește cealaltă tabelă într-o clauză group_by().

Acest exercițiu face parte din cursul

Introducere în baze de date în Python

Vezi cursul

Instrucțiuni pentru exercițiu

  • Construiește o instrucțiune care să selecteze:
    • Coloana state din tabela census.
    • Suma coloanei pop2008 din tabela census.
    • Coloana census_division_name din tabela state_fact.
  • Adaugă un .select_from() la stmt pentru a realiza join-ul între tabelele census și state_fact pe baza coloanelor state și name.
  • Grupează instrucțiunea după coloana name din tabela state_fact.
  • Execută instrucțiunea stmt_grouped pentru a obține toate înregistrările și salvează rezultatul ca results.
  • Trimite răspunsul pentru a parcurge obiectul results cu o buclă și a afișa fiecare înregistrare.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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)
Editează și rulează codul