别名(Azure Synapse Analytics 和并行数据仓库)

适用于:Azure Synapse AnalyticsAnalytics Platform System (PDW)Microsoft Fabric 中的 SQL 分析端点Microsoft Fabric 中的仓库

别名创建允许在 Azure Synapse Analytics 或 Analytics Platform System (PDW) SQL 查询中临时替换简短且易于记忆的字符串来代替表或列名称。 在 JOIN 查询中经常使用表别名,因为 JOIN 语法在引用列时需要完全限定的对象名称。

别名必须是符合对象命名规则的单个词。 有关详细信息,请参阅 Analytics Platform System (PDW) 产品文档中的“对象命名规则”。 别名不能包含空格,也不能用单引号或双引号括起来。

语法

object_source [ AS ] alias

参数

object_source
源表或源列的名称。

AS
一个可选的别名介词。 使用范围变量别名创建时,禁止使用 AS 关键字。

alias 表或列所需的临时引用名称。 可以使用任何有效的对象名称。 有关详细信息,请参阅 Analytics Platform System (PDW) 产品文档中的“对象命名规则”。

示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)

以下示例展示了一个包含多个联接的查询。 此示例演示了表别名创建和列别名创建。

  • 列别名创建:在此示例中,涉及选择列表中的列的列和表达式都创建了别名。 SalesTerritoryRegion AS SalesTR 演示了一个简单的列别名。 Sum(SalesAmountQuota) AS TotalSales 演示了

  • 表别名创建:dbo.DimSalesTerritory AS st 展示了如何为 dbo.DimSalesTerritory 表创建 st 别名。

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

如下所示,可以排除 AS 关键字,但为了便于阅读,通常会包含 AS 关键字。

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

后续步骤