Alias

Améliorer la performance des requêtes dans SQL Server

Dean Smith

Founder, Atamai Analytics

Qu'est-ce qu'un alias ?

  • Utilisés dans les requêtes pour identifier :
    • Tables
    • Colonnes
    • Sous-requêtes
  • Temporaires, appliqués seulement à l'exécution
  • Rendent la requête plus lisible
  • Parfois obligatoires
Améliorer la performance des requêtes dans SQL Server

Pourquoi utiliser des alias ?

  • Éviter de répéter des noms de tables ou de colonnes longs
  • Repérer facilement les jointures et leurs colonnes
  • Identifier les nouvelles colonnes
  • Identifier les sous-requêtes
  • Éviter l'ambiguïté quand des colonnes jointes ont le même nom
  • Renommer des colonnes
Améliorer la performance des requêtes dans SQL Server

Tables jointes : nom de colonne ambigu

SELECT CountryName, 
       Code2, 
       Capital, 
       Pop2017
FROM Nations
INNER JOIN Cities
  ON Capital = CityName;
-----------------------------------------------
-- ERREUR, la colonne Pop2017 se trouve 
dans les tables Nations et Cities

Ambiguous column name 'Pop2017'.
Améliorer la performance des requêtes dans SQL Server

Tables jointes : alias des noms de tables

-- Alias des tables ; Nations en n et Cities en c
SELECT n.CountryName, 
       n.Code2, 
       n.Capital, 
       c.Pop2017 -- Population de la ville
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
... ... ... ...
Améliorer la performance des requêtes dans SQL Server

Colonnes renommées

-- Alias des colonnes
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
... ... ... ...
Améliorer la performance des requêtes dans SQL Server

Nouvelles colonnes

-- Nouvelle colonne avec l'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
... ... ...
Améliorer la performance des requêtes dans SQL Server

Sous-requêtes

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 
              -- Sous-requête avec l'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
... ... ...
Améliorer la performance des requêtes dans SQL Server

Passons à la pratique !

Améliorer la performance des requêtes dans SQL Server

Preparing Video For Download...