Subinterogări în SELECT pentru calcule
Subinterogările din SELECT sunt o modalitate utilă de a crea coloane calculate într-o interogare. O subinterogare în SELECT poate fi tratată ca o valoare numerică unică, pe care o poți folosi în calcule. Când scrii subinterogări în SELECT, este important să reții că filtrarea interogării principale nu filtrează și subinterogarea – și invers.
În exercițiul anterior, ai creat o coloană pentru a compara media golurilor totale din fiecare ligă cu media generală a golurilor din sezonul 2013/2014. În acest exercițiu, vei adăuga o coloană care compară direct aceste valori, scăzând media generală din rezultatul subinterogării.
Acest exercițiu face parte din cursul
Manipularea datelor în SQL
Instrucțiuni pentru exercițiu
- Selectează media golurilor marcate într-un meci pentru fiecare ligă în interogarea principală.
- Selectează media golurilor marcate într-un meci în general pentru sezonul
'2013/2014'în subinterogare. - Scade subinterogarea din numărul mediu de goluri calculat pentru fiecare ligă.
- Filtrează interogarea principală astfel încât să fie incluse doar meciurile din sezonul
'2013/2014'.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
SELECT
-- Select the league name and average goals scored
___ AS league,
ROUND(___(___ + m.away_goal),2) AS avg_goals,
-- Subtract the overall average from the league average
ROUND(AVG(___ + m.away_goal) ___
(SELECT ___(___ + away_goal)
FROM match
WHERE ___ = ___),2) AS diff
FROM league AS l
LEFT JOIN match AS m
ON l.country_id = m.country_id
-- Only include 2013/2014 results
WHERE ___ = ___
GROUP BY l.name;