适用于:Azure Synapse Analytics
分析平台系统 (PDW)
Microsoft Fabric 中的 SQL 分析端点
Microsoft Fabric 中的仓库
别名创建允许在 Azure Synapse Analytics 或 Analytics Platform System (PDW) SQL 查询中临时替换简短且易于记忆的字符串来代替表或列名称。 表别名通常用于查询, JOIN 因为在引用列时, JOIN 语法需要完全限定的对象名称。
别名必须是符合对象命名规则的单个词。 有关详细信息,请参阅 数据库标识符。 别名不能包含空格,也不能用单引号或双引号括起来。
语法
object_source [ AS ] alias
参数
object_source
源表或源列的名称。
AS
一个可选的别名介词。 使用范围变量别名创建时,禁止使用 AS 关键字。
alias
表或列所需的临时引用名称。 可以使用任何有效的对象名称。 有关详细信息,请参阅 Analytics Platform System (PDW) 产品文档中的“对象命名规则”。
示例:Azure Synapse Analytics 和 Analytics Platform System (PDW)
以下示例展示了一个包含多个联接的查询。 此示例演示了表别名创建和列别名创建。 这些示例使用 AdventureWorks 示例数据库。
列别名创建:在此示例中,涉及选择列表中的列的列和表达式都创建了别名。
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 ,但通常包含关键字以供可读。
-- 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;