Aliasing (Azure Synapse Analytics)

Dotyczy:Azure Synapse AnalyticsPunkt końcowy analizy SQL w usłudze Microsoft FabricMagazyn w usłudze Microsoft Fabric

Aliasing pozwala na tymczasowe zastąpienie krótkim i łatwym do zapamiętania ciągiem tekstu zamiast nazwy tabeli lub kolumny w zapytaniach SQL Azure Synapse Analytics. Aliasy tabel są często używane w JOIN zapytaniach, ponieważ składnia JOIN wymaga w pełni kwalifikowanych nazw obiektów podczas odwoływania się do kolumn.

Aliasy muszą być pojedynczymi słowami zgodnymi z zasadami nazewnictwa obiektów. Aby uzyskać więcej informacji, zobacz Identyfikatory bazy danych. Aliasy nie mogą zawierać pustych miejsc ani nie mogą być osadzone cudzysłowem ani pojedynczym, ani podwójnym.

Składnia

object_source [ AS ] alias

Arguments

object_source

Nazwa tabeli lub kolumny źródłowej.

AS

Opcjonalny przyimek alias. Podczas pracy z aliasingiem zmiennych zakresu słowo kluczowe AS jest zabronione.

alias

Pożądana tymczasowa nazwa referencyjna dla tabeli lub kolumny. Można użyć dowolnej poprawnej nazwy obiektu.

Przykłady: Azure Synapse Analytics

Poniższy przykład pokazuje zapytanie z wieloma połączeniami. W tym przykładzie demonstrowano zarówno aliasing tabeli, jak i kolumn. Te przykłady wykorzystują przykładowe bazy danych AdventureWorks.

  • Aliasowanie kolumn: Zarówno kolumny, jak i wyrażenia dotyczące kolumn z listy select są w tym przykładzie aliasingowane. SalesTerritoryRegion AS SalesTR demonstruje prosty alias kolumnowy. Sum(SalesAmountQuota) AS TotalSales demonstruje

  • Aliasing tabeli: dbo.DimSalesTerritory AS st pokazuje utworzenie aliasu st tabeli dbo.DimSalesTerritory .

-- Uses AdventureWorks

SELECT LastName, SUM(SalesAmountQuota) AS TotalSales, SalesTerritoryRegion AS SalesTR,  
    RANK() OVER (PARTITION BY SalesTerritoryRegion ORDER BY SUM(SalesAmountQuota) DESC ) AS RankResult  
FROM dbo.DimEmployee AS e  
INNER JOIN dbo.FactSalesQuota AS sq ON e.EmployeeKey = sq.EmployeeKey  
INNER JOIN dbo.DimSalesTerritory AS st ON e.SalesTerritoryKey = st.SalesTerritoryKey  
WHERE SalesPersonFlag = 1 AND SalesTerritoryRegion != N'NA'  
GROUP BY LastName, SalesTerritoryRegion;  

Słowo AS kluczowe można wykluczyć, ale często jest uwzględniane dla większej czytelności.

-- Uses AdventureWorks

SELECT LastName, SUM(SalesAmountQuota) TotalSales, SalesTerritoryRegion SalesTR,  
RANK() OVER (PARTITION BY SalesTerritoryRegion ORDER BY SUM(SalesAmountQuota) DESC ) RankResult  
FROM dbo.DimEmployee e  
INNER JOIN dbo.FactSalesQuota sq ON e.EmployeeKey = sq.EmployeeKey  
INNER JOIN dbo.DimSalesTerritory st ON e.SalesTerritoryKey = st.SalesTerritoryKey  
WHERE SalesPersonFlag = 1 AND SalesTerritoryRegion != N'NA'  
GROUP BY LastName, SalesTerritoryRegion;