Aliasing (Azure Synapse Analytics, paralelní datový sklad)

Platí na:Azure Synapse AnalyticsAnalyticsPlatform System (PDW)SQL analytics endpoint in Microsoft FabricWarehousein Microsoft Fabric

Aliasing umožňuje dočasné nahrazení krátkého a snadno zapamatovatelného řetězce názvem tabulky nebo sloupce v SQL dotazech v Azure Synapse Analytics nebo Analytics Platform System (PDW). Aliasy tabulek se často používají v JOIN dotazech, protože syntaxe JOIN vyžaduje plně kvalifikované názvy objektů při odkazování na sloupce.

Aliasy musí být jednoslovná slova v souladu s pravidly pojmenování objektů. Další informace naleznete v tématu Identifikátory databáze. Aliasy nesmí obsahovat prázdné mezery a nelze je uzavřít ani do jedné ani dvojité uvozovky.

Syntax

object_source [ AS ] alias

Arguments

object_source

Název zdrojové tabulky nebo sloupce.

AS

Volitelný alias předložka. Při práci s aliasingem proměnných rozsahu je klíčové slovo AS zakázáno.

alias

Požadovaný dočasný referenční název pro tabulku nebo sloupec. Lze použít jakýkoli platný název objektu. Pro více informací viz "Pravidla pojmenování objektů" v dokumentaci produktu Analytics Platform System (PDW).

Příklady: Azure Synapse Analytics a Analytický platformový systém (PDW)

Následující příklad ukazuje dotaz s více spojeními. V tomto příkladu jsou demonstrovány aliasování jak tabulky, tak sloupců. Tyto příklady využívají ukázkové databáze AdventureWorks.

  • Aliasing sloupců: V tomto příkladu jsou aliasovány jak sloupce, tak výrazy zahrnující sloupce ve výběru seznamu. SalesTerritoryRegion AS SalesTR demonstruje jednoduchý sloupcový alias. Sum(SalesAmountQuota) AS TotalSales ukazuje

  • Vyhlazování tabulky: dbo.DimSalesTerritory AS st ukazuje vytvoření aliasu st pro tabulku 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;  

Klíčové slovo AS lze vyloučit, ale často je zahrnuto kvůli lepší čitelnosti.

-- 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;