Další procvičování joinů
Můžeš použít stejný příkaz SELECT jako v předchozím cvičení, ale tentokrát přidáme malý záludný prvek – vrátíme jen vybrané sloupce a druhou tabulku použijeme v klauzuli group_by().
Toto cvičení je součástí kurzu
Introduction to Databases in Python
Pokyny k cvičení
- Sestav příkaz pro výběr:
- Sloupce
statez tabulkycensus. - Součtu sloupce
pop2008z tabulkycensus. - Sloupce
census_division_namez tabulkystate_fact.
- Sloupce
- Přidej k příkazu
stmtmetodu.select_from(), která propojí tabulkycensusastate_factpodle sloupcůstateaname. - Seskup příkaz podle sloupce
namez tabulkystate_fact. - Spusť příkaz
stmt_grouped, získej všechny záznamy a výsledek ulož do proměnnéresults. - Odešli odpověď, aby se spustila smyčka přes objekt
resultsa každý záznam se vypsal.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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)