别名(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;
后续步骤
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈