TOATE subinterogările PESTE TOT
În ligile de fotbal, meciurile se joacă în diferite etape. Echipele câștigătoare avansează dintr-o etapă în următoarea, până ajung în etapa finală. În fiecare etapă, miza devine mai mare decât în cea anterioară. Tabelul match conține date despre diferitele etape în care s-a disputat fiecare meci.
În următoarele 3 exerciții, vei construi o interogare cu câte o subinterogare în fiecare dintre clauzele SELECT, FROM și WHERE. Se schimbă numărul mediu de goluri marcate pe măsură ce miza crește de la o etapă la alta?
Interogarea repetă aceeași subinterogare, ca să poți exersa fiecare plasare. Fiecare copie citește din nou tabelul match, așa că, în proiectele tale, ai calcula media generală o singură dată, așa cum se arată în Capitolul 4 cu o funcție de fereastră.
Acest exercițiu face parte din cursul
Manipularea datelor în SQL
Instrucțiuni pentru exercițiu
- Extrage numărul mediu de goluri totale printr-o subinterogare în
SELECT. - Calculează media golurilor totale pentru
stage-ul specific în interogarea principală. - Filtrează atât subinterogările, cât și interogarea principală, astfel încât să fie incluse doar datele din sezonul 2012/2013.
- Grupează interogarea după coloana
m.stage.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
SELECT
-- Select the stage and average goals for each stage
m.stage,
ROUND(___(___ + m.away_goal),2) AS avg_goals,
-- Select the average overall goals for the 2012/2013 season
ROUND((SELECT ___(___ + away_goal)
FROM match
WHERE season = ___),2) AS overall
FROM match AS m
-- Filter for the 2012/2013 season
WHERE ___ = ___
-- Group by stage
GROUP BY ___;