Alias

Migliorare le prestazioni delle query in SQL Server

Dean Smith

Founder, Atamai Analytics

Cos’è l’aliasing?

  • Usati nelle query per identificare:
    • Tabelle
    • Colonne
    • Sottoquery
  • Temporanei, valgono solo all’esecuzione
  • Rendono la query più leggibile
  • A volte necessari
Migliorare le prestazioni delle query in SQL Server

Perché usare alias?

  • Evita ripetere nomi lunghi di tabelle/colonne
  • Identifica facilmente tabelle joinate e colonne associate
  • Identifica nuove colonne
  • Identifica sottoquery
  • Evita ambiguità quando colonne omonime sono joinate
  • Rinomina colonne
Migliorare le prestazioni delle query in SQL Server

Tabelle joinate: nome colonna ambiguo

SELECT CountryName, 
       Code2, 
       Capital, 
       Pop2017
FROM Nations
INNER JOIN Cities
  ON Capital = CityName;
-----------------------------------------------
-- ERRORE: la colonna Pop2017 è in
sia Nations che Cities

Ambiguous column name 'Pop2017'.
Migliorare le prestazioni delle query in SQL Server

Tabelle joinate: alias dei nomi

-- Alias tabelle: Nations come n e Cities come c
SELECT n.CountryName, 
       n.Code2, 
       n.Capital, 
       c.Pop2017 -- Popolazione città
FROM Nations AS n
INNER JOIN Cities AS c
  ON n.Capital = c.CityName;
CountryName Code2 Capital Pop2017
United Kingdom GB London 346774
Canada CA Ottawa 874433
France FR Paris 10437
Reunion RE Saint-Denis 1067
... ... ... ...
Migliorare le prestazioni delle query in SQL Server

Colonne rinominate

-- Alias per colonne
SELECT n.CountryName AS Country, 
       n.Code2 AS CountryCode, 
       n.Capital, 
       c.Pop2017 AS Population
FROM Nations AS n
INNER JOIN Cities AS c
  ON n.Capital = c.CityName;
Country CountryCode Capital Population
United Kingdom GB London 346774
Canada CA Ottawa 874433
France FR Paris 10437
Reunion RE Saint-Denis 1067
... ... ... ...
Migliorare le prestazioni delle query in SQL Server

Nuove colonne

-- Nuova colonna con alias MaxMagnitude
SELECT Country, 
       NearestPop AS City,
       MAX(Magnitude) AS MaxMagnitude
FROM Earthquakes 
GROUP BY Country, NearestPop;
Country City MaxMagnitude
PE Acar 7.1
US Aguadilla 7.7
MX Aguililla 7.2
PW Airai 7.8
PG Aitape 7.6
... ... ...
Migliorare le prestazioni delle query in SQL Server

Sottoquery

SELECT n.CountryName AS Country, 
       n.Capital, 
       e.MaxMagnitude
FROM Nations n
INNER JOIN
        (SELECT Country, NearestPop AS City
                ,MAX(Magnitude) AS MaxMagnitude
        FROM Earthquakes 
        GROUP BY Country, NearestPop) e 
              -- Sottoquery con alias e
    ON n.Code2 = e.Country AND n.Capital = e.City;
Country Capital MaxMagnitude
Fiji Suva 7.9
Guam Hagatna 7.8
Peru Lima 7.6
Turkmenistan Ashgabat 7.3
... ... ...
Migliorare le prestazioni delle query in SQL Server

Ayo berlatih!

Migliorare le prestazioni delle query in SQL Server

Preparing Video For Download...