Aliasering – lag-BMI
En basketstatistiker vill känna till det genomsnittliga kroppsmasseindexet (BMI) per NBA-lag, och i synnerhet vilka lag som har ett genomsnittligt BMI på 25 eller högre. För att inkludera Team i frågan behöver du koppla ihop tabellen Players med tabellen PlayerStats. Frågan kräver aliasering för att:
- Enkelt kunna identifiera sammankopplade tabeller och tillhörande kolumner.
- Identifiera underfrågor.
- Undvika tvetydighet i kolumnnamn.
- Identifiera nya kolumner.
Den här övningen är en del av kursen
Förbättra frågeprestanda i SQL Server
Övningsinstruktioner
- Ge den nya kolumnen för genomsnittligt BMI aliaset
AvgTeamBMI. - Ge tabellen
PlayerStatsaliasetps. - Ge underfrågan aliaset
p. - Tabellen
PlayerStatsoch underfrågan kopplas ihop via kolumnenPlayerName. Lägg till aliaserna på dePlayerName-kolumner som används i kopplingen.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
SELECT Team,
ROUND(AVG(BMI),2) AS ___ -- Alias the new column
FROM PlayerStats ___ ___ -- Alias PlayerStats table
INNER JOIN
(SELECT PlayerName, Country,
Weight_kg/SQUARE(Height_cm/100) BMI
FROM Players) ___ ___ -- Alias the sub-query
-- Alias the joining columns
ON ___.PlayerName = ___.PlayerName
GROUP BY Team
HAVING AVG(BMI) >= 25;