Aliasing

Meningkatkan Kinerja Kueri di SQL Server

Dean Smith

Founder, Atamai Analytics

Apa itu aliasing?

  • Digunakan dalam kueri untuk menandai:
    • Tabel
    • Kolom
    • Subkueri
  • Sementara, hanya saat kueri dijalankan
  • Membuat kueri lebih mudah dibaca
  • Mungkin wajib
Meningkatkan Kinerja Kueri di SQL Server

Mengapa memakai alias?

  • Hindari pengulangan nama tabel/kolom yang panjang
  • Mudah mengenali tabel join dan kolom terkait
  • Menandai kolom baru
  • Menandai subkueri
  • Hindari ambiguitas saat kolom bernama sama pada tabel join
  • Ganti nama kolom
Meningkatkan Kinerja Kueri di SQL Server

Tabel join - nama kolom ambigu

SELECT CountryName, 
       Code2, 
       Capital, 
       Pop2017
FROM Nations
INNER JOIN Cities
  ON Capital = CityName;
-----------------------------------------------
-- ERROR, kolom Pop2017 ada di 
baik tabel Nations maupun Cities

Ambiguous column name 'Pop2017'.
Meningkatkan Kinerja Kueri di SQL Server

Tabel join - alias nama tabel

-- Alias tabel; Nations sebagai n dan Cities sebagai c
SELECT n.CountryName, 
       n.Code2, 
       n.Capital, 
       c.Pop2017 -- Populasi kota
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
... ... ... ...
Meningkatkan Kinerja Kueri di SQL Server

Ganti nama kolom

-- Alias kolom; 
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
... ... ... ...
Meningkatkan Kinerja Kueri di SQL Server

Kolom baru

-- Kolom baru dialias sebagai 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
... ... ...
Meningkatkan Kinerja Kueri di SQL Server

Subkueri

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 
              -- Subkueri dialias sebagai 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
... ... ...
Meningkatkan Kinerja Kueri di SQL Server

Ayo berlatih!

Meningkatkan Kinerja Kueri di SQL Server

Preparing Video For Download...