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
Instrucțiuni pentru exercițiu
- Construiește o instrucțiune care să selecteze:
- Coloana
statedin tabelacensus. - Suma coloanei
pop2008din tabelacensus. - Coloana
census_division_namedin tabelastate_fact.
- Coloana
- Adaugă un
.select_from()lastmtpentru a realiza join-ul între tabelelecensusșistate_factpe baza coloanelorstateșiname. - Grupează instrucțiunea după coloana
namedin tabelastate_fact. - Execută instrucțiunea
stmt_groupedpentru a obține toate înregistrările și salvează rezultatul caresults. - Trimite răspunsul pentru a parcurge obiectul
resultscu 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)